最近开发一个项目时,遇到这样一个问题:
数据库表结构如下:
regio(regioid varchar,desc varchar)
代码如下:
dtGet.EndInit();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand("select top 1 * from(select regioID,[DESC] from [regio]) as regio", odConn);
//da.InsertCommand = new OleDbCommand("Insert into regio(regioID,[DESC]) values(?,?)",odConn); OleDbCommandBuilder odCb = new OleDbCommandBuilder(da);
da.UpdateCommand = odCb.GetUpdateCommand();
da.InsertCommand = odCb.GetInsertCommand();
da.DeleteCommand = odCb.GetDeleteCommand();
//da.UpdateCommand.CommandText = "UPDATE regio SET regioID = ?, [DESC] = ? WHERE ((regioID = ?) AND ((? = 1 AND [DESC] IS NULL) OR ([DESC] = ?)))";
//da.InsertCommand.CommandText = "INSERT INTO regio(regioID,[DESC]) VALUES(@regioID,@[DESC])";
//da.DeleteCommand.CommandText = "DELETE FROM regio WHERE ((regioID = ?) AND ((? = 1 AND [DESC] IS NULL) OR ([DESC] = ?)))"; da.Update(this.dtGet.Tables[0]);
更新操作始终不能保存到数据库中,请各位指点
数据库表结构如下:
regio(regioid varchar,desc varchar)
代码如下:
dtGet.EndInit();
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = new OleDbCommand("select top 1 * from(select regioID,[DESC] from [regio]) as regio", odConn);
//da.InsertCommand = new OleDbCommand("Insert into regio(regioID,[DESC]) values(?,?)",odConn); OleDbCommandBuilder odCb = new OleDbCommandBuilder(da);
da.UpdateCommand = odCb.GetUpdateCommand();
da.InsertCommand = odCb.GetInsertCommand();
da.DeleteCommand = odCb.GetDeleteCommand();
//da.UpdateCommand.CommandText = "UPDATE regio SET regioID = ?, [DESC] = ? WHERE ((regioID = ?) AND ((? = 1 AND [DESC] IS NULL) OR ([DESC] = ?)))";
//da.InsertCommand.CommandText = "INSERT INTO regio(regioID,[DESC]) VALUES(@regioID,@[DESC])";
//da.DeleteCommand.CommandText = "DELETE FROM regio WHERE ((regioID = ?) AND ((? = 1 AND [DESC] IS NULL) OR ([DESC] = ?)))"; da.Update(this.dtGet.Tables[0]);
更新操作始终不能保存到数据库中,请各位指点
new OleDbConnection(connectionString))
{
connection.Open();
OleDbDataAdapter dataAdapter =
new OleDbDataAdapter();
dataAdapter.SelectCommand =
new OleDbCommand(queryString, connection);
OleDbCommandBuilder commandBuilder =
new OleDbCommandBuilder(dataAdapter); dataAdapter.Fill(dataSet); // Code to modify data in the DataSet here. //Without the OleDbCommandBuilder this line would fail.
dataAdapter.Update(dataSet);
}
return dataSet;
da.UpdateCommand.Parameters.Add("@regioID", OleDbType.VarChar, 15).Value = "123456";