2014-04-16 2 views
0

DateTime 변수를 ASP.Net C#에서 변수를 SQL Server 데이터베이스에 삽입하려고합니다. 어떤 이유로이 오류가 발생합니다.varchar 데이터 형식을 datetime 데이터 형식으로 변환하면 asp.net에서 범위를 벗어나는 값이 발생합니다. C#

DateTime date = DateTime.Now; 

string sql2 = @"INSERT INTO registerTable (username,password,email,firstname,gw2user,typeofplay) 
       VALUES ('" + user + "','" + pass + "','" + email + "','" + firstname + "','" + gw2user + "','" + type + "','" + date + "')"; 

날짜 열은 datetime 날짜 유형입니다.

+0

paramterized 쿼리를 사용할 가능성이있는 경우 매개 변수화되지 않은 쿼리를 사용해서는 안됩니다. – Max

+2

날짜 필드에 아무 것도 삽입하지 않는 것으로 보이는 것은 분명히 예기치 않은 오류입니다. 필드 목록과 값 목록의 다른 수의 열에 관련된 오류가 예상됩니다. –

답변

3

쿼리에 date 열이 없습니다. 이를 다음과 같이 변경하여 오류를 제거하십시오.

INSERT INTO registerTable (username,password,email,firstname,gw2user,typeofplay, date) VALUES ('" + user + "','" + pass + "','" + email + "','" + firstname + "','" + gw2user + "','" + type + "','"+date+"') 

또한 연결을 사용하지 않고 매개 변수화 된 쿼리를 사용하십시오.

2

매개 변수 값을 연결하지 , 당신보다 효율적으로 사용하는 매개 변수

string sql2 = @"INSERT INTO registerTable (username,password,email,firstname,gw2user,typeofplay, dateColumnName) VALUES (@username,@password,@email,@firstname,@gw2user,@typeofplay, @date)"; 

읽기 Working with Parameters 다음

cmd.Parameters.AddWithValue("@date", date); 

다른 매개 변수에 대한 동일한 기능을 수행 할 아래로 날짜 매개 변수 값을 설정할 수 있습니다

게다가.

0
string sql2 = @"INSERT INTO registerTable (username,password,email,firstname,gw2user,typeofplay, dateColumnName) VALUES (@username,@password,@email,@firstname,@gw2user,@typeofplay, @date)"; 
관련 문제