新手求助:c#中DataAdapter的update方法要怎么使用,为什么我改不了数据库捏?
代码如下:
using System;
using System.Data;
using System.Data.SqlClient;
namespace UpdateOfSql
{
/// <summary>
/// test 的摘要说明。
/// </summary>
public class test
{
public static void Main()
{
string s="server=(local);uid=guest;pwd=guest;database=Mytestdatabase";
SqlConnection scon=new SqlConnection(s);
scon.Open();
SqlCommand mycomm=new SqlCommand("update stu set sex='female' where stuName='Steven'",scon);
SqlDataAdapter da=new SqlDataAdapter("select * from stu",scon);
da.UpdateCommand=mycomm;
DataSet ds=new DataSet();
da.Fill(ds,"stu");
da.Update(ds,"stu");
ds.AcceptChanges();
DataTable dt=ds.Tables["stu"];
foreach(DataRow dr in dt.Rows)
{
Console.WriteLine(dr["stuName"]+ " "+ dr["studentid"]+ " "+dr["sex"] );
}
scon.Close();
}
}
}
为什么该不了数据库呢?如果加上一条语句 da.UpdateCommand.ExecuteNonQuery,数据库是可以修改了,但是dataset中并没有修改。换句话说,da.Update(ds,"stu");ds.AcceptChanges();这两句在这个程序里面好像根本没有执行阿。
我的问题就是,对于SqlDataAdapter,它有InsertCommand,UpdateCommand,DeleteCommand,那它的update()方法要怎么用才可以使得dataset和数据库中的数据都被修改呢?