2016-11-22 5 views
-1

select count (*)의 행이 있는지 확인하십시오. qno 필드 행이 비어 있거나없는 경우 즉, 모든 항목이 이전에 삽입되었거나 삽입되지 않은 경우에만 변수를 설정하려고합니다.MS SQL 쿼리 (asp.net)

C# 코드 :

cmd2 = new SqlCommand("Select COUNT(*) FROM " + tname + "WHERE qno = @qno", con99); 
    cmd2.Parameters.AddWithValue("@qno", qno); 
    if ((int)cmd2.ExecuteScalar() == 0) //V Studio shows error here 
      qno_present = 0; 
    else 
     qno_present = 1; 

오류 : 'System.Data.SqlClient.SqlException'형식의 예외가 system.data.dll 발생하지만 H 아니었다

andled 사용자 코드 추가 정보 : '='근처의 구문이 잘못되었습니다.

+2

전에 공간이 필요합니다. 그러나 실제로 이것은 테이블 이름을 전달해야 할 때 가난한 디자인이라고 비명을 지른다. 그리고 잠재적으로 SQL 주입 취약점입니다. –

+1

MySQL 또는 SQL Server? 그들은 같은 것이 아닙니다. – Barmar

답변

3
cmd2 = new SqlCommand("Select COUNT(*) FROM " + tname + "WHERE qno = @qno", con99); 

당신은 당신은 당신의 테이블 이름 뒤에 공백을 누락 WHERE

cmd2 = new SqlCommand("Select COUNT(*) FROM " + tname + " WHERE qno = @qno", con99);