皆さん、
私はこれにまったく慣れていません...私はwinformからすでにデータソースであるアクセスデータベースに自分のレコードを追加したかったのですが、次のようなエラーが発生しました:
OleDBException は処理されず、「INSERT INTO ステートメントの構文エラー」と表示されます。
次の行を示します。
da.Update(ds1, "Table1");
私のコーディングは次のとおりです。
int MaxRows = 0;
int inc = 0;
private void Form2_Load(object sender, EventArgs e)
{
con = new System.Data.OleDb.OleDbConnection();
ds1 = new DataSet();
con.ConnectionString = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:/Documents and Settings/user/My Documents/anchu.accdb";
string sql = "SELECT * From Table1";
da = new System.Data.OleDb.OleDbDataAdapter(sql, con);
con.Open();
da.Fill(ds1, "Table1");
//NavigateRecords();
con.Close();
//con.Dispose();
}
/*private void NavigateRecords()
{
DataRow drow = ds1.Tables["Table1"].Rows[0];
textBox1.Text = drow.ItemArray.GetValue(0).ToString();
textBox2.Text = drow.ItemArray.GetValue(1).ToString();
textBox3.Text = drow.ItemArray.GetValue(2).ToString();
textBox4.Text = drow.ItemArray.GetValue(3).ToString();
}*/
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button1_Click(object sender, EventArgs e)
{
System.Data.OleDb.OleDbCommandBuilder cb;
cb = new System.Data.OleDb.OleDbCommandBuilder(da);
DataRow drow = ds1.Tables["Table1"].NewRow();
drow[0] = textBox1.Text;
drow[1] = textBox2.Text;
drow[2] = textBox3.Text;
drow[3] = textBox4.Text;
ds1.Tables["Table1"].Rows.Add(drow);
MaxRows = MaxRows + 1;
inc = MaxRows - 1;
da.Update(ds1, "Table1");
MessageBox.Show("Entry Added");
}
}
}