问题描述
SqlDataAdaptersda=newSqlDataAdapter(selectStr,con);sda.UpdateCommand=newSqlCommand("updatestudentsetname=@namewheres_id=@s_id",con);sda.UpdateCommand.Parameters.Add("@name",SqlDbType.NVarChar,10,"name");SqlParameterparameter=sda.UpdateCommand.Parameters.Add("@s_id",SqlDbType.Int);parameter.SourceColumn="s_id";parameter.SourceVersion=DataRowVersion.Original;parameter.SqlValue=110;DataSetds=newDataSet();sda.Fill(ds,"emp");DataRowdr=ds.Tables["emp"].Rows[0];dr["name"]="张三";sda.Update(ds,"emp");为什么不能更新指定行的name值,而只可以更新第一行的name,如果把parameter.SourceColumn="s_id";这句去掉,就可以更新指定行的name了。如果换成查询sda.SelectCommand=newSqlCommand("select*fromstudentwheres_id=@s_id",con);SqlParameterparameter=sda.SelectCommand.Parameters.Add("@s_id",SqlDbType.Int);parameter.SourceColumn="s_id";parameter.SourceVersion=DataRowVersion.Original;parameter.SqlValue=110;DataSetds=newDataSet();sda.Fill(ds,"emp");DataRowdr=ds.Tables["emp"].Rows[0];Console.WriteLine(dr["name"].ToString());则可以查找到指定行的name??????????????????????????????????????????????