访问 table 更新失败
Access table update fail
我使用以下代码从 Access 数据库中填充 DataGridView
。如果更新了数据网格,则单击“保存”按钮后,数据库将保存数据。
奇怪的是,这适用于 3 个数据表中的 2 个。对于最后一个它抛出异常:
Syntax error in INSERT INTO statement
public Tables(string tabName)
{
InitializeComponent();
this.Text = tabName;
this.query = string.Format("SELECT *" + " FROM [{0}]", tabName);
conn.Open();
detailTable = new DataTable();
string tableName = tabName;
string query = string.Format("SELECT * FROM [{0}]", tableName);
OleDbDataAdapter detailAdapter = new OleDbDataAdapter(query, conn);
if (detailAdapter != null)
{
detailAdapter.Fill(detailTable);
}
DataGridView.DataSource = detailTable;
conn.Close();
}
private void BtnSave_Click(object sender, EventArgs e)
{
OleDbCommand comm = new OleDbCommand(query, conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
adapter.Update(detailTable);
}
即使这些词是保留关键字(虽然我搜索了它们)也没有办法成为问题。
更多信息 tabName 可以是 "Partners"、"Salaries"、"Descriptions" 和 "Accounts"。它不仅适用于 "Partners".
好吧,原来我错了,我为我的固执道歉。问题出在电子邮件栏中,我不明白为什么它的破折号有问题。
我使用以下代码从 Access 数据库中填充 DataGridView
。如果更新了数据网格,则单击“保存”按钮后,数据库将保存数据。
奇怪的是,这适用于 3 个数据表中的 2 个。对于最后一个它抛出异常:
Syntax error in INSERT INTO statement
public Tables(string tabName)
{
InitializeComponent();
this.Text = tabName;
this.query = string.Format("SELECT *" + " FROM [{0}]", tabName);
conn.Open();
detailTable = new DataTable();
string tableName = tabName;
string query = string.Format("SELECT * FROM [{0}]", tableName);
OleDbDataAdapter detailAdapter = new OleDbDataAdapter(query, conn);
if (detailAdapter != null)
{
detailAdapter.Fill(detailTable);
}
DataGridView.DataSource = detailTable;
conn.Close();
}
private void BtnSave_Click(object sender, EventArgs e)
{
OleDbCommand comm = new OleDbCommand(query, conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(comm);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
adapter.Update(detailTable);
}
即使这些词是保留关键字(虽然我搜索了它们)也没有办法成为问题。 更多信息 tabName 可以是 "Partners"、"Salaries"、"Descriptions" 和 "Accounts"。它不仅适用于 "Partners".
好吧,原来我错了,我为我的固执道歉。问题出在电子邮件栏中,我不明白为什么它的破折号有问题。