--更新学生除密码,班级以外的信息
create proc UpdStudentInfo
@stuId int,
@stuName varchar(20),
@stuAddr varchar(200),
@stuPhone varchar(20),
@stuRe varchar(1000),
@stuGender bit,
@stuMail varchar(200),
@stuBirthday datetime
as
update Student set stuName=@stuName,stuAddr=@stuAddr,
stuPhone=@stuPhone,stuRe=@stuRe,stuMail=@stuMail,stuBirthday=@stuBirthday
where stuId=@stuId
exec UpdStudentInfo 5,'000','fdasfsa','fdsaf','fdsfa',1,'fdsafsdf','1989-9-9'这个存储过程在查询分析器调用 完全没错但是在asp.net页面调用时返回值正确,但数据未修改 protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn =
new SqlConnection("server=localhost;database=asp;integrated security=true;");//;integrated security=true;
SqlCommand comm = new SqlCommand("UpdStudentInfo",conn);
comm.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlParameter para = new SqlParameter("@stuId", SqlDbType.Int);
para.Value = 3;// int.Parse(Session["stuId"].ToString());
comm.Parameters.Add(para);
para=new SqlParameter("@stuName",SqlDbType.VarChar,20);
para.Value = this.stuName.Text.Trim();
comm.Parameters.Add(para);
para=new SqlParameter("@stuAddr",SqlDbType.VarChar,200);
para.Value = this.stuAddr.Text.Trim();
comm.Parameters.Add(para);
para=new SqlParameter("@stuPhone",SqlDbType.VarChar,20);
para.Value = this.stuPhone.Text.Trim();
comm.Parameters.Add(para);
para=new SqlParameter("@stuGender",SqlDbType.Bit);
para.Value =int.Parse(this.stuGender.SelectedValue);
comm.Parameters.Add(para); para=new SqlParameter("@stuMail",SqlDbType.VarChar,200);
para.Value = this.stuMail.Text.Trim();
comm.Parameters.Add(para); para=new SqlParameter("@stuRe",SqlDbType.VarChar,1000);
para.Value = this.stuRe.Text.Trim();
comm.Parameters.Add(para); para = new SqlParameter("@stuBirthday", SqlDbType.DateTime);
para.Value=this.stuBirthday.Text.Trim();
comm.Parameters.Add(para); //int i=comm.ExecuteNonQuery();
comm.ExecuteScalar(); //Response.Write(i); //调用后 i=1 }
我是真看不出来哪里有问题了....真搞不懂
create proc UpdStudentInfo
@stuId int,
@stuName varchar(20),
@stuAddr varchar(200),
@stuPhone varchar(20),
@stuRe varchar(1000),
@stuGender bit,
@stuMail varchar(200),
@stuBirthday datetime
as
update Student set stuName=@stuName,stuAddr=@stuAddr,
stuPhone=@stuPhone,stuRe=@stuRe,stuMail=@stuMail,stuBirthday=@stuBirthday
where stuId=@stuId
exec UpdStudentInfo 5,'000','fdasfsa','fdsaf','fdsfa',1,'fdsafsdf','1989-9-9'这个存储过程在查询分析器调用 完全没错但是在asp.net页面调用时返回值正确,但数据未修改 protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn =
new SqlConnection("server=localhost;database=asp;integrated security=true;");//;integrated security=true;
SqlCommand comm = new SqlCommand("UpdStudentInfo",conn);
comm.CommandType = CommandType.StoredProcedure;
conn.Open();
SqlParameter para = new SqlParameter("@stuId", SqlDbType.Int);
para.Value = 3;// int.Parse(Session["stuId"].ToString());
comm.Parameters.Add(para);
para=new SqlParameter("@stuName",SqlDbType.VarChar,20);
para.Value = this.stuName.Text.Trim();
comm.Parameters.Add(para);
para=new SqlParameter("@stuAddr",SqlDbType.VarChar,200);
para.Value = this.stuAddr.Text.Trim();
comm.Parameters.Add(para);
para=new SqlParameter("@stuPhone",SqlDbType.VarChar,20);
para.Value = this.stuPhone.Text.Trim();
comm.Parameters.Add(para);
para=new SqlParameter("@stuGender",SqlDbType.Bit);
para.Value =int.Parse(this.stuGender.SelectedValue);
comm.Parameters.Add(para); para=new SqlParameter("@stuMail",SqlDbType.VarChar,200);
para.Value = this.stuMail.Text.Trim();
comm.Parameters.Add(para); para=new SqlParameter("@stuRe",SqlDbType.VarChar,1000);
para.Value = this.stuRe.Text.Trim();
comm.Parameters.Add(para); para = new SqlParameter("@stuBirthday", SqlDbType.DateTime);
para.Value=this.stuBirthday.Text.Trim();
comm.Parameters.Add(para); //int i=comm.ExecuteNonQuery();
comm.ExecuteScalar(); //Response.Write(i); //调用后 i=1 }
我是真看不出来哪里有问题了....真搞不懂
解决方案 »
- 这个问题谁见过?
- 后台绑定了listview,如何给listview写分页代码
- 不同页面间的参数传递
- 求教asp.net(VB)编写的显示word文件的网页程序
- 怎么样单击datagrid的一个模板列,弹出一个页面来。请教一段代码。谢谢?
- 我想在TextBox里面输入物资的上标和下标,例如:M2 平方米,请问如何实现呀,试了很久了,还是不行,请问那位有好的办法?
- 请问怎样在DataGrid的最后添加一条“统计”项?
- 怎样在asp.net中调用的window.open('url'),的url中加入变量?看看我的,为什么不行?
- web控件(.ascx),传到客户端后ID,NAME被改动的问题
- 老生常谈,datagrid分页问题,附代码。
- 求POST跨域传值代码
- 名词解释
sqlParameter para[]=new sqlParameter[]
{
new sqlParameter("参数名",值);
};
都是‘垃圾’代码。
2,
update Student set stuName=@stuName,stuAddr=@stuAddr,stuPhone=@stuPhone,stuRe=@stuRe,stuMail=@stuMail,stuBirthday=@stuBirthday where stuId=@stuId
有更新性别字段吗?是不更新,还是忘了写了。行了没问题了,就是挺粗心的。
怎么说?
comm.ExecuteNonQuery();
会返回1奇怪...
我在page load 里做一些事情所以加上 if (this.IsPostBack)
return;就可以了 唉...搞了这么久 才想起老师说过的 重要属性