OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=tt.mdb");
OleDbDataAdapter oda = new OleDbDataAdapter("select * from tab", conn);
DataSet ds=new DataSet();
oda.Fill(ds,"tab");
DataRow[] dw = ds.Tables[0].Select("ID=3");
dw[0][1] = "修改第一行第二列"; OleDbCommandBuilder db = new OleDbCommandBuilder(oda);
oda.Update(ds, "tab"); //将数据集中修改了的内容写回到数据库中,应该怎么写才正确啊??
OleDbDataAdapter oda = new OleDbDataAdapter("select * from tab", conn);
DataSet ds=new DataSet();
oda.Fill(ds,"tab");
DataRow[] dw = ds.Tables[0].Select("ID=3");
dw[0][1] = "修改第一行第二列"; OleDbCommandBuilder db = new OleDbCommandBuilder(oda);
oda.Update(ds, "tab"); //将数据集中修改了的内容写回到数据库中,应该怎么写才正确啊??
....................
oda.update(ds,"tab");
....................
oda.update(ds,"tab");------------------------------------------------------------------------------
只是显示的时候改变了,但在实际的数据库中,数据并没有改变啊,为什么会这样啊?可以给完整点的代码给我吗??我刚学C#的啊。。
using System.Data;
using System.Data.SqlClient;class Demo
{
static void Main()
{
SqlConnection cn = new SqlConnection("Server = (local);Integrated Security = SSPI;DataBase=northwind");
SqlDataAdapter da = new SqlDataAdapter("Select CategoryID,CategoryName FROM Categories", cn);
DataSet ds = new DataSet();
da.Fill(ds,"Categories");
ds.Tables[0].Rows[7]["CategoryName"] = "amandag";
cn.Open();
SqlCommandBuilder cmd = new SqlCommandBuilder(da);
// Console.WriteLine(cmd.GetUpdateCommand().CommandText);
da.Update(ds.Tables[0]);
cn.Close();
}
}