代码如下
SqlCommand updatecomm=conn.CreateCommand();
updatecomm.CommandText="update sfyhb set yhdm=@newyhdm,sfyh=@newsfyh where yhdm=@oldyhdm and sfyh=@oldsfyh";
SqlParameter param;
param=updatecomm.Parameters.Add("@newyhdm",SqlDbType.Char,2,"yhdm");
param.SourceColumn="yhdm";
param.SourceVersion=DataRowVersion.Current;
param=updatecomm.Parameters.Add("@newsfyh",SqlDbType.VarChar,8,"sfyh");
param.SourceColumn="sfyh";
param.SourceVersion=DataRowVersion.Current;
param=updatecomm.Parameters.Add("@oldyhdm",SqlDbType.Char,2,"yhdm");
param.SourceColumn="yhdm";
param.SourceVersion=DataRowVersion.Original;
param=updatecomm.Parameters.Add("@oldsfyh",SqlDbType.VarChar,8,"sfyh");
param.SourceColumn="sfyh";
param.SourceVersion=DataRowVersion.Original;
da.UpdateCommand=updatecomm;
try
{
da.Update(ds);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
ds.AcceptChanges();
但是总说没有提供@newyhdm和@newsfyh两个参数。
SqlCommand updatecomm=conn.CreateCommand();
updatecomm.CommandText="update sfyhb set yhdm=@newyhdm,sfyh=@newsfyh where yhdm=@oldyhdm and sfyh=@oldsfyh";
SqlParameter param;
param=updatecomm.Parameters.Add("@newyhdm",SqlDbType.Char,2,"yhdm");
param.SourceColumn="yhdm";
param.SourceVersion=DataRowVersion.Current;
param=updatecomm.Parameters.Add("@newsfyh",SqlDbType.VarChar,8,"sfyh");
param.SourceColumn="sfyh";
param.SourceVersion=DataRowVersion.Current;
param=updatecomm.Parameters.Add("@oldyhdm",SqlDbType.Char,2,"yhdm");
param.SourceColumn="yhdm";
param.SourceVersion=DataRowVersion.Original;
param=updatecomm.Parameters.Add("@oldsfyh",SqlDbType.VarChar,8,"sfyh");
param.SourceColumn="sfyh";
param.SourceVersion=DataRowVersion.Original;
da.UpdateCommand=updatecomm;
try
{
da.Update(ds);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
ds.AcceptChanges();
但是总说没有提供@newyhdm和@newsfyh两个参数。
http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspx
SqlCommand mycomm=conn.CreateCommand();
mycomm.CommandText="select yhdm ,sfyh FROM sfyhb ";
da.SelectCommand=mycomm;
conn.Open();
ds.Clear();
SqlCommandBuilder cb=new SqlCommandBuilder(da);
da.Fill(ds,"yh");
ds.Tables[0].PrimaryKey=new DataColumn[]{ds.Tables[0].Columns["yhdm"]};
conn.Close();
dataGrid1.DataSource=ds.Tables[0].DefaultView;
dataGrid1.SetDataBinding(ds,"yh");
在datagrid直接修改数据后,按钮保存
da.Update(ds,"yh");
提示“对于不返回任何键列信息的 SelectCommand 不支持 UpdateCommand 的动态 SQL 生成。”