2016-11-22 11 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ではありませんでした

ユーザーコードでアンドリングしました 追加情報: '='付近の構文が正しくありません。

+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); 
関連する問題