vs2008中数据库的更新操作老是“未将对象引用设置到对象的实例。 ”
protected void Page_Load(object sender, EventArgs e){
if (Session["id"] != null && Session["id"] != "")
{
String strcon = "Data Source=localhost; Initial Catalog=engine; Integrated Security=True";
SqlConnection con = new SqlConnection(strcon);
String mysql = "Select * From [user]";
SqlDataAdapter myadapter = new SqlDataAdapter(mysql, con);
con.Open();
myadapter.UpdateCommand = new SqlCommand("Update [user] set" + "name=@name" + "sex=@sex" + "birthday=@birthday" + "phone=@phone" + "email=@email" + "address=@address" + "photo=@photo where id=@id", con);
myadapter.UpdateCommand.Parameters.Add("@name", SqlDbType.VarChar, 50, "name");
myadapter.UpdateCommand.Parameters.Add("@sex", SqlDbType.VarChar, 50, "sex");
myadapter.UpdateCommand.Parameters.Add("@birthday", SqlDbType.VarChar, 50, "birthday");
myadapter.UpdateCommand.Parameters.Add("@phone", SqlDbType.VarChar, 50, "phone");
myadapter.UpdateCommand.Parameters.Add("@email", SqlDbType.VarChar, 50, "email");
myadapter.UpdateCommand.Parameters.Add("@address", SqlDbType.VarChar, 50, "address");
myadapter.UpdateCommand.Parameters.Add("@photo", SqlDbType.VarChar, 50, "photo");
SqlParameter p1 = myadapter.UpdateCommand.Parameters.Add("@id", SqlDbType.Decimal);
p1.SourceColumn = "id";
p1.SourceVersion = DataRowVersion.Original;
DataSet mydataset = new DataSet();
myadapter.Fill(mydataset, "[user]");
DataTable mytable = mydataset.Tables["[user]"];
foreach (DataRow myrow in mytable.Rows)
{
if (myrow["id"].ToString() == Session["id"].ToString())
{
myrow["name"] = name.Text;
myrow["sex"] = sex.SelectedItem.Value;
myrow["birthday"] = birthday.Text;
myrow["phone"] = phone.Text;
myrow["email"] = email.Text;
myrow["address"] = address.Text;
myrow["photo"] = photo.Text;
myadapter.Update(mydataset, "[user]");
Response.Write("<h3>成功更新表中的数据</h3><hr>");
con.Close();
Response.Write("成功关闭数据库!");
return;
}
}
Response.Write("<h3>没有找到要更新的记录<h3></h>");
con.Close();
Response.Write("成功关闭数据库!");
}
}
为什么老是提示:“未将对象引用设置到对象的实例。 求高手急救啊!!!!!!!!!!!!!!
” --------------------编程问答-------------------- 断点调试下,看哪句引起的“未将对象引用设置到对象的实例”
这种问题都是因你的对象是空,然后对其上的属性或方法等做了操作引起的。。。 --------------------编程问答-------------------- LZ 哪一行报错?
单步调试,哪里报错就是哪里有空值 --------------------编程问答-------------------- 谢啦 我的问题解决了 呵呵
补充:.NET技术 , C#