2016-04-17 43 views
-2
System.Data.OleDb.OleDbCommandBuilder cb; //command builder 
    cb = new System.Data.OleDb.OleDbCommandBuilder(boosterbaseDa); //re-establish temporary connection 

    DataRow dRow = boosterbaseDs.Tables[drpCardSet.Text].NewRow(); //create new row in set 

    dRow[0] = drpCardSet.Text + "-EN" + txtCardSetNo.Text; //grab the data 
    dRow[1] = txtCardName.Text; 
    dRow[2] = drpCardRarity.Text; 
    dRow[3] = drpCardCatagory.Text; 
    dRow[4] = updCardInStock.Value; 

    MessageBox.Show(dRow[0] + ", " + dRow[1] + ", " + dRow[2] + ", " + dRow[3] + ", " + dRow[4]); 

    boosterbaseDs.Tables[drpCardSet.Text].Rows.Add(dRow); //add row 

    boosterbaseMaxRows = boosterbaseMaxRows + 1; 

    string cardTable = drpCardSet.Text; 

    boosterbaseDa.Update(boosterbaseDs, drpCardSet.Text); 

私は、最後の行に立ち往生しているように見えますC#の - INSERT INTOステートメントの構文エラー(タイプ「System.Data.OleDb.OleDbException」の未処理の例外が発生したのSystem.Data.dllで)

のエラーが処理されない例外タイプの「System.Data.OleDb.OleDbException」はINSERT INTOステートメント

でのSystem.Data.dll、構文エラーで発生した私は、同様の質問が、私はそこにいる実感します真剣にこれに固執しています。

テーブルが存在し、データベースに接続できます。 (表「LOB」に)に行くデータの

例としては、LOB-EN001、ボブ、一般的な、モンスターになり、1

は、事前にありがとう - サム

+3

経由http://csharp.net-informations.com/dataadapter/insertcommand-oledb.htm

から

string connetionString = null; OleDbConnection connection; OleDbDataAdapter oledbAdapter = new OleDbDataAdapter(); string sql = null; connetionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data Source=../boosterbase.mdb"; connection = new OleDbConnection(connetionString); sql = "insert into " + drpCardSet.Text + " values('" + drpCardSet.Text + "-EN" + txtCardSetNo.Text + "','" + txtCardName.Text + "','" + drpCardRarity.Text + "', '" + drpCardCatagory.Text + "', '" + updCardInStock.Text + "')"; try { connection.Open(); oledbAdapter.InsertCommand = new OleDbCommand(sql, connection); oledbAdapter.InsertCommand.ExecuteNonQuery(); MessageBox.Show("Row(s) Inserted !! "); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } 

はあなたの**挿入**声明を表示することができますか? –

+0

DAを初期化したselectコマンドとは何ですか?その新しい行に適切な値を割り当てていますか?詳細はこちらをご覧ください。 – Plutonix

+0

これは初期化された場所です: string sql = "SELECT * From" + drpCardSet.Text; boosterbaseDa =新しいSystem.Data.OleDb.OleDbDataAdapter(sql、boosterbaseCon); 新しい行を含むDataRowコレクションを渡す場合、更新には有効なInsertCommandが必要です。さらに詳細です、そして、はい、私は彼らが正しい値でなければならないと確信しています – user3258453

答えて

関連する問題