未将对象引用设置到对象的实例 很急啊!!

来源:百度知道 编辑:UC知道 时间:2024/06/08 00:35:32
protected void Button8_Click(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True";
SqlCommand selectcmd = new SqlCommand();
selectcmd.CommandText = "select * from worker";
selectcmd.Connection = conn;

SqlCommand updatecmd = new SqlCommand();
updatecmd.CommandText = "update worker set age=@age where name=@name";//@后面均为参数
updatecmd.Connection = conn;

updatecmd.Parameters.Add("@name",SqlDbType.Char,10,"name");
updatecmd.Parameters.Add("@age",SqlDbType.Int,4,"age");

da.SelectCommand = selectcmd;
da.UpdateCommand = updatec

改为
if (editdr!=null)
{
editdr["age"] = TextBox10.Text;
da.Update(data, "worker");

}

查找可以这么写
DataRow[] rows=data.Tables["worker"].Select("name='"+TextBox9.Text+",");

把这句换成editdr["age"] = TextBox10.Text==null?"":TextBox10.Text;
或者换成if(TextBox10.Text==null)editdr["age"] ="";else editdr["age"] =TextBox10.Text;

updatecmd.Parameters.Add("@age",SqlDbType.Int,4,"age");
editdr["age"] = TextBox10.Text;
int 和string的转化 改改试试

updatecmd.Parameters.Add("@name",SqlDbType.Char,10,"name");
其中Name是关键字,要用中括号括起来
updatecmd.Parameters.Add("@name",SqlDbType.Char,10,"[name]");

editdr["age"] 这个东西没有实例化