当前位置:编程学习 > C#/ASP.NET >>

sql参数求助

SqlDataAdapter sda = new SqlDataAdapter(selectStr, con);
sda.UpdateCommand = new SqlCommand("update student set name=@name where s_id=@s_id", con); 
 sda.UpdateCommand.Parameters.Add("@name", SqlDbType.NVarChar, 10, "name");

 SqlParameter parameter = sda.UpdateCommand.Parameters.Add("@s_id", SqlDbType.Int);
 parameter.SourceColumn = "s_id";
 parameter.SourceVersion = DataRowVersion.Original;
 parameter.SqlValue = 110; 
               
 DataSet ds = new DataSet();
 sda.Fill(ds, "emp");
 DataRow dr = ds.Tables["emp"].Rows[0];
 dr["name"] = "张三"; 
 sda.Update(ds, "emp");
为什么不能更新指定行的 name  值,而只可以更新第一行的 name,如果把  parameter.SourceColumn = "s_id"; 这句去掉,就可以更新指定行的name了。
如果换成查询
sda.SelectCommand = new SqlCommand("select * from student where s_id=@s_id", con);

SqlParameter parameter = sda.SelectCommand.Parameters.Add("@s_id", SqlDbType.Int);
 parameter.SourceColumn = "s_id";
 parameter.SourceVersion = DataRowVersion.Original;
 parameter.SqlValue = 110; 

 DataSet ds = new DataSet();
 sda.Fill(ds, "emp");
 DataRow dr = ds.Tables["emp"].Rows[0];
Console.WriteLine(dr["name"].ToString());
则可以查找到指定行的name
??????????????????????????????????????????????


补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,