更改数据库后出现 OleDbDataAdapter 错误
OleDbDataAdapter error after change in database
我一整天都在努力解决这个问题,就是找不到我的错误。我有一个 ms-access 数据库和一个应该更新数据库中数据的 c# 程序。不幸的是,我一直收到 System.Data.OleDb.OleDbException: Syntaxerror in update statement
。
我正在使用 OleDbConnection
和 OleDbDataAdapter
并且所有内容(除了一列)都运行良好。我不明白为什么我一直收到该列的上述错误(它的格式与其他列一样-> 文本),所以我删除了该列并重新创建了它。现在,我尝试进行的每一次更改都会出现错误。
public void changeFields(string id, string name, string famName, string department) {
DataSet myDS = new DataSet();
using (OleDbConnection conn = new OleDbConnection(connectionString)) {
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand("SELECT * FROM Table WHERE ID = '"+ id +"', conn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
myDS.Tables["Table"].Rows[0]["Name"] = name;
myDS.Tables["Table"].Rows[0]["FamilyName"] = famName;
myDS.Tables["Table"].Rows[0]["Department"] = department;
adapter.Update(myDS, "Table");
conn.Close();
}
}
列的名称是正确的,如果我
Console.WriteLine(myDS.Tables["Table"].Rows[0]["Name"];
就在我尝试更新之前。
我实际上得到了正确更改的版本。错误总是发生在第 adapter.Update();
行
当我将列插入数据库时,访问是否可能重新排列或弄乱某些索引?
非常感谢帮助
我想通了!问题是我有一个保留关键字作为列名。现在一切正常
我一整天都在努力解决这个问题,就是找不到我的错误。我有一个 ms-access 数据库和一个应该更新数据库中数据的 c# 程序。不幸的是,我一直收到 System.Data.OleDb.OleDbException: Syntaxerror in update statement
。
我正在使用 OleDbConnection
和 OleDbDataAdapter
并且所有内容(除了一列)都运行良好。我不明白为什么我一直收到该列的上述错误(它的格式与其他列一样-> 文本),所以我删除了该列并重新创建了它。现在,我尝试进行的每一次更改都会出现错误。
public void changeFields(string id, string name, string famName, string department) {
DataSet myDS = new DataSet();
using (OleDbConnection conn = new OleDbConnection(connectionString)) {
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand("SELECT * FROM Table WHERE ID = '"+ id +"', conn);
OleDbCommandBuilder builder = new OleDbCommandBuilder(adapter);
myDS.Tables["Table"].Rows[0]["Name"] = name;
myDS.Tables["Table"].Rows[0]["FamilyName"] = famName;
myDS.Tables["Table"].Rows[0]["Department"] = department;
adapter.Update(myDS, "Table");
conn.Close();
}
}
列的名称是正确的,如果我
Console.WriteLine(myDS.Tables["Table"].Rows[0]["Name"];
就在我尝试更新之前。
我实际上得到了正确更改的版本。错误总是发生在第 adapter.Update();
行
当我将列插入数据库时,访问是否可能重新排列或弄乱某些索引?
非常感谢帮助
我想通了!问题是我有一个保留关键字作为列名。现在一切正常