【发布时间】:2012-09-27 17:31:05
【问题描述】:
代码:
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");
}
}
}
我在一行中遇到错误:
da.Update(ds1, "Table1");
错误说..OleDBException 未处理
在下面它说.. INSERT INTO 语句中的语法错误。
我也正确连接了我的访问数据库。
我的表格格式如下
字段名称
Sno.(主键)
名称
公司名称
联系电话
数据类型 文本 文本 文本 文字
【问题讨论】:
-
da.Update()不是您提供的代码示例的一部分。问题很可能出在代码的那部分。到目前为止,您尝试了哪些故障排除? -
我没有做任何事情.. 我只是想编辑访问字段.. 我删除了第一个字段-SNo。即使现在我也有同样的错误
-
当你说你没有做任何事情时,这是否意味着它正在工作并且最近停止工作,或者这个新代码从未工作过?
-
看起来那是插入而不是更新。
-
你能给我sn-p的代码吗?