string str = @"D:\MirServer龙纹之刃";
DataTable dt = DBItemDGV.DataSource as DataTable;
if (Directory.Exists(str + @"\Mud2\DB\"))
{
//物品查看
string ConnectionString = @"Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DefaultDir=" + str + @"\Mud2\DB;Dbq=" + str + @"\Mud2\DB;CollatingSequence=ASCII;PWD=;";
using (System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection(ConnectionString))
{
conn.Open();
string sql = String.Format("update StdItems set {0}={1} where Name={2}",
DBItemDGV.Columns[e.ColumnIndex].DataPropertyName, //所选单元格修改后的值
DBItemDGV.SelectedRows[0].Cells[e.ColumnIndex].Value, //所选单元格修改后的值
DBItemDGV.SelectedRows[0].Cells[1].Value);
using (System.Data.Odbc.OdbcDataAdapter da = new OdbcDataAdapter(sql, conn))
{
OdbcCommandBuilder b = new OdbcCommandBuilder(da);
da.UpdateCommand = b.GetUpdateCommand();
da.Update(dt);
}
conn.Close();
}
}
select语句都是正常的,试过很多方法了,主要是自己对这块不是很理解,有没有大神?
先看看我代码有没有问题,然后再给个解决办法吧
你只是要已修改,怎么会用到OdbcDataAdapter,直接用odbccommand就行,
你这样是要在查询的时候用的,或者你想要有返回结果的 时候,必须要有查询语句才行
你这边是修改, 不用使用Adapter , 直接只用ccommand.ExecuteNonQuery() 返回受影响行数就好了