2014-12-01 2 views
0

다른 게시물을 읽었으며 시도해 보았습니다. 변경하고 다시 시도해 보시기 바랍니다. 아래 코드 만 있습니다. "@vendor"가 선언되지 않은 이유를 알 수 없습니다. 그것은 아주 단순한 무언가 일 것임에 틀림 없으며 나는 오랫동안 그것을 보았습니다. 나는 그것을 볼 수 없었습니다.무엇이 스칼라 변수 @vendor를 선언해야합니까?

private string Get_Vendor_ID() 
{ 
    string vendor_ID = ""; 
    string vendor = vendorTextBox.Text; 
    string SQL = "SELECT Vendor_ID FROM Vendor WHERE Vendor_Name = @vendor"; 
    SqlCommand sqlCommand = new SqlCommand(SQL, DataAccessClass.sql_Connection); 
    sqlCommand.Parameters.AddWithValue("@vendor_ID", vendor_ID); 
    sqlCommand.Parameters.AddWithValue("@Vendor_Name", vendor); 
    DataAccessClass.OpenConnection(); 
    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); 

    while (sqlDataReader.Read()) 
    { 
     vendor_ID = sqlDataReader["Vendor_ID"].ToString(); 
    } 
    DataAccessClass.CloseConnection(); 
    return vendor_ID; 
} 

조언이 있으면 좋을 것입니다.

+1

컴파일러? 나는 SQL 엔진이 여기에 불평 할 것이라고 생각한다. – MarcinJuraszek

+0

여기서 뭐하고 있다고 생각하니? @vendor 매개 변수가 있지만 정의 된 적이 없습니다. – Jonesopolis

+1

또한 @vendor_ID 매개 변수를 삭제할 수있는 것처럼 보입니다. 쿼리에서이 매개 변수를 전혀 사용하지 않는 것 같습니다. –

답변

3

이 특정 라인에서 봐,

sqlCommand.Parameters.AddWithValue("@vendor_ID", vendor_ID); 
sqlCommand.Parameters.AddWithValue("@Vendor_Name", vendor); 

는 더 @vendor 선언

이가 변경 시도하지 있습니다.

string SQL = "SELECT Vendor_ID FROM Vendor WHERE Vendor_Name = @Vendor_Name"; 
+0

도움 주셔서 감사합니다 DevEstacion. 2 시간 전에 나는 이것을 깨달았다. –