2013-03-25 2 views
2

C#을 사용하여 SQL 데이터베이스에 삽입하는 데 문제가 있습니다. 내가 얻는 오류는"@campusVisitDate"스칼라 변수를 선언해야 함

"@campusVisitDate"스칼라 변수를 선언해야합니다.

여기서 @campusVisitDate는 매개 변수이며 값을 부여한 다음 데이터베이스에 추가합니다.
여기 OnCampusVisitDate 유형 날짜 시간이며 가변 campusVisitDate가 아니라 입력 날짜 시간이어야 포맷 된

conn2.Open(); 
SqlCommand cmd = conn2.CreateCommand(); 
DateTime date = DateTime.Now; 
date.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.GetCultureInfo("en-US")); 
cmd.CommandText = "INSERT INTO TableName (DateRequested, OnCampus, OnCampusVisitDate, Name, Title, Email, Phone, Fax, MinCumGPA, Keywords, EmployerNotes, ThirdParty, JobFair, CompanyURL) VALUES (@date,@onCampus,@campusVisitDate,@name,@title,@email,@phone,@fax,@mcgpa,@keywords,@empnotes,@tp,@jobfair,@compurl)"; 
cmd.Parameters.AddWithValue("@date",date); 

if (campusvisit == 1) 
{ 
    cmd.Parameters.AddWithValue("@onCampus", 1); 
    cmd.Parameters.AddWithValue("@campusVisitDate",campusVisitDate); 
} 
else 
{ 
    cmd.Parameters.AddWithValue("@onCampus", 0); 
} 

내게 열 문제

를 제공하는 코드이다.

이것이 나에게 문제를 일으키는 유일한 열인 이유는 무엇이든간에 다른 모든 항목은 괜찮으며 심지어 DateTime 유형의 DateRequested입니다.

아마도 나는 작은 것을 놓친 것일뿐입니다. 그러나 나는이 문제에 잠시 동안 머물 렀으며 도움이 필요합니다.

(당신이 더 많은 코드가 필요, 그냥 물어 내가 그것을 게시 할 예정입니다)를 @`cmd.Parameters.AddWithValue 제거

+0

를 ("onCampus을", 1); 당신의'else'에서' –

+0

당신 'null '을 사용하는 경우에도 여전히 @ @ campusVisitDate에 할당해야합니다. 그렇지 않으면 변수에 대해 잊어 버렸다고 생각합니다. – ean5533

답변

2
else 
    { 
     cmd.Parameters.AddWithValue("@onCampus", 0); 
     cmd.Parameters.AddWithValue("@campusVisitDate",null); 
    } 
+0

좋아요, 할당에 null을 추가했습니다. 도움을 주셔서 감사합니다! –

관련 문제