1

これは、検索を行うために使用されるコードです

 private void button1_Click(object sender, EventArgs e)
    {
        string connectionString = Tyre.Properties.Settings.Default.Database1ConnectionString;
        SqlConnection conn = new SqlConnection(connectionString);
        DataTable dt = new DataTable();
        SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM table1 where Nom like " + textBox1.Text, conn);
        SDA.Fill(dt);
        dataGridView1.DataSource = dt;
    }

そして、このエラーが発生しています

System.Data.dll で 'System.Data.SqlClient.SqlException' 型の未処理の例外が発生しました

追加情報: 列名「elie」が無効です。

それは私のアプリケーションの例です: ここに画像の説明を入力 画像を見るにはここをクリックしてください

4

1 に答える 1

4

まず、コードはSQL インジェクションに対して広く開かれています。ユーザーが必要なデータを挿入できるようにします

; DROP TABLE table1

当面の問題を修正するには、一致するアイテムを一重引用符と % 記号で囲みます。

"SELECT * FROM table1 where Nom like '%" + textBox1.Text + "%'"

ただし、パラメーター化されたクエリの使用を検討する必要があります

于 2013-02-04T20:46:13.220 に答える