sql
  • oledb
  • 2009-05-19 10 views 0 likes 
    0

    コード:構文エラーが

    string query1 = @"UPDATE global_mapping set escape_id = " + 
        dataGridView1.Rows[i].Cells[2].Value + ",function_id = " + 
        dataGridView1.Rows[i].Cells[3].Value + ",function_name = '" + 
        dataGridView1.Rows[i].Cells[4].Value + "',parameter_name = '" + 
        dataGridView1.Rows[i].Cells[5].Value + "',parameter_validity = '" + 
        dataGridView1.Rows[i].Cells[6].Value + "',statusparameter_id = " + 
        dataGridView1.Rows[i].Cells[7].Value + ",acb_datatype = '" + 
        dataGridView1.Rows[i].Cells[8].Value + "',data_type_id = " + 
        dataGridView1.Rows[i].Cells[9].Value + ",bit_size = " + 
        dataGridView1.Rows[i].Cells[10].Value + ",validity_status ='" + 
        dataGridView1.Rows[i].Cells[11].Value + "',validity_func = '" + 
        dataGridView1.Rows[i].Cells[12].Value + "'WHERE global_mapping.parameter_id =" + 
        dataGridView1.Rows[i].Cells[1].Value + ""; 
    OleDbCommand cmd1 = new OleDbCommand(query1, conn); 
    cmd1.ExecuteNonQuery(); 
    

    コードが終了します。

    私は上記のコードを実行すると、私は、「UPDATE文の構文エラー」を示すエラーを取得します。 誰かがこれを解決する方法を教えてもらえますか?

    +0

    速い応答をありがとうが、SQLのパラメータを使用する方法 –

    答えて

    1

    ワウ。 SQLインジェクション?

    パラメータを使用してみてください。あなた自身を守るだけでなく、あなたのSQLはもっと読みやすくなります。

    1

    SQLクエリを作成するために文字列連結を使用しないでください。 SQLパラメータを使用します。

    0

    Yikes! 最終的なquery1値を入力して、より良い画像を得るためにフォーマットしてください。私の推測は不足しています。

    0

    私はそこにいくつか引用符がありませんが、あなたのコードは私が言うことができないような豚のようなものだと思います。コードを修正しない場合は、最低限、query1のダンプを与えて、実際のクエリを読むことができます。

    そして、以前の応答のようなパラメータまたはストアドプロシージャを使用してください。それが必要とするのは、あなたの変数の1つが何か厄介なもので上書きされ、あなたのサーバはテーブルを削除している人にも広く開かれます。

    これはローカルの「安全な」データベースであっても、あなたの悪い習慣を今すぐ知らせるべきです。

    2

    WHERE句の前にスペースを追加する必要があるようです。ウィンドウをコンソールに出力query1の値を参照してください Console.WriteLine(query1)

    OleDbCommand cmd1 = new OleDbCommand(query1, conn);前に、このことができます

    希望、

    ビル

    +0

    悪いSQL構文は、彼の心配の中で最も少ないです。 –

    +3

    おそらく、私はここで十字軍にはない。 –

    -1

    を入れてください。
    SQL文は正常に見えますか?私は推測されません - あなたは今数値ではなく、グリッドで空白のフィールドを見つけることができるようになります。

    そして、他のパラメータと同じように使用しています。

    +0

    私の返事に何が間違っていますか?ダウン投票の場合、理由を記入してください。 – shahkalpesh

    関連する問題