0

そしてまた戻ってきました。 以前に同様の質問をしたことがありますが、前の回答者の助けを借りて、疑問符を付けて試したり、Add の代わりに AddWithValue を試したりしても、うまくいきませんでした。

txt_Naam を txt_Naam.Text に変更しようとしましたが、何もありません。

また、列名の周りに [] を入れても、うまくいきません。この「INSERT INTOステートメントの構文エラー」が表示され続けます。

今回は、以下のコードでどこにも行きませんでした。些細なことかもしれませんが、わかりません。(また...)

        protected void btn_final_Click(object sender, EventArgs e)
    {

        string fact_adres = txt_Naam.Text + "," + txt_Anaam.Text + "," + txt_Adres.Text + "," + txt_Toevoeg.Text + "," + txt_Pcode.Text + "," + txt_Plaats.Text + "," + txt_Email.Text ;
        string fact_adres1 = txt_Naam1.Text + "," + txt_Anaam1.Text + "," + txt_Adres1.Text + "," + txt_Toevoeg1.Text + "," + txt_Pcode1.Text + "," + txt_Plaats1.Text + "," + txt_Email1.Text;

        string a = "1";

        OleDbConnection conn = new OleDbConnection();
        conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; "
            + "Data Source=|DataDirectory|webwinkel.accdb";

        OleDbCommand cmd = new OleDbCommand();
        cmd.Connection = conn;
        cmd.CommandText = "INSERT INTO Order (factuur_adres_id, verzend_adres_id, totaalprijs) VALUES (?, ?, ?);";

        cmd.Parameters.Add("@factuur_adres", OleDbType.VarChar, 125).Value = fact_adres;
        cmd.Parameters.Add("@verzend_adres", OleDbType.VarChar, 125).Value = fact_adres1;
        cmd.Parameters.Add("@totaal_prijs", OleDbType.VarChar, 7).Value = a;

        try
        {
            conn.Open();
            OleDbDataReader reader = cmd.ExecuteReader();
            reader.Close();
        }

        catch (Exception exc)
        {
            Label1.Text = exc.Message;
        }

        finally
        {
            conn.Close();
            Session["Winkelwagen"] = null;
        }

    }
4

2 に答える 2

2

コマンドテキストは次のようになります

cmd.CommandText = "INSERT INTO Order (factuur_adres_id, verzend_adres_id, totaalprijs)   VALUES (@factuur_adres,@verzend_adres, @totaal_prijs)";

更新された回答:パラメーターを設定してコードを実行し、値を直接渡して、機能するかどうかを確認します

    cmd.CommandText = "INSERT INTO Order (factuur_adres_id, verzend_adres_id, totaalprijs)   VALUES ('abc','def','adf')";
于 2012-07-18T20:43:58.947 に答える
0

挿入するときは使用する必要はありません

cmd.ExecuteNonQuery()

cmd.ExecuteReader() の代わりに ??

于 2014-05-14T21:12:57.890 に答える