2012-06-29 5 views
1

C#으로 데이터베이스에 연결하고 일부 데이터를 쿼리하려고합니다.mysql 데이터베이스에 연결할 수 없습니다. C#

{"Fatal error encountered during command execution."} 
{"Parameter '?param1' must be defined."} 

코드 :

checkmsisdn.CommandText = "SELECT name FROM acl where msisdn = ?param1 and passwd = ?param2 and items LIKE (\"%?param3%\")"; //fourth 
//try 
//{ 
    sqlConn.Open(); 
    Reader = checkmsisdn.ExecuteReader(); 
    checkmsisdn.Parameters.Add(new MySqlParameter("param1", msisdn)); 
    checkmsisdn.Parameters.Add(new MySqlParameter("param2", passwd)); 
    checkmsisdn.Parameters.Add(new MySqlParameter("param3", itemno)); 
//} 
//catch 
//{ 
// Console.WriteLine("Error Connecting to Database\n"); 
//} 

while (Reader.Read()) 
{ 
    name = (Reader.GetValue(0).ToString()); 
} 

쿼리는 하나의 라인 이름을 반환합니다 연결할 때

는하지만 난이 오류가 발생합니다. 이 검색어에 대해 매개 변수를 올바르게 사용하고 있습니까?

답변

4

매개 변수를 추가하기 전에 ExecuteReader()으로 전화하십시오.

+0

네, 맞습니다. 바보 같네요. –

+0

이제 두 번째로 실행했을 때이 문제가 발생합니다. 'param1'매개 변수가 이미 정의되었습니다. –

+0

checkmsisdn.Parameters.Clear(); 이것은 그것을했다! :디 –

관련 문제