asp.net 更新数据库的问题

我想将数据库的内容读取到TextBox,然后修改,修改完再保存更新到数据库,数据能读出来,但是数据库没更新,哪里出错了?SqlConnectionsconn=newSql... 我想将数据库的内容读取到TextBox,然后修改,修改完再保存更新到数据库,数据能读出来,但是数据库没更新,哪里出错了?
SqlConnection sconn = new SqlConnection();
string connstr = "server=.;database=STUDENT;uid=sa;pwd=yingci";
SqlCommand scmd = new SqlCommand();

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{

if (Session["UserName"] == null)
{
Response.Redirect("login.aspx");
}
else
{

sconn.ConnectionString = connstr;
sconn.Open();
scmd.Connection = sconn;
scmd.CommandText="select * from xsxx where 姓名 = '" + Session["xsxx"] + "'";
SqlDataReader dr = scmd.ExecuteReader();
if (dr.Read())
{
TextBox1.Text = dr["住址"].ToString().Trim();
dr.Close();
}

}

}

}
protected void Button1_Click(object sender, EventArgs e)
{
sconn.ConnectionString = connstr;
sconn.Open();
scmd.Connection = sconn;
scmd.CommandText = "Updata xsxx Set 住址='" + TextBox1.Text + "'";
sconn.Close();

}
}
居然一直补充不了问题....
1楼的依然更新不了,数据库直接用查询语句可更新的
没报错,Where语句我是有写的,因为不行所以才删了试试

断点之后有警告
scmd.CommandText = "Updata xsxx Set 住址='" + TextBox1.Text + "'where 姓名='" + Session["xsxx"] +"'";
scmd.ExecuteNonQuery(); --用户代码未处理 SqlException
"="附近有语法错误。--
展开
 我来答
落月Prc
2010-05-03 · TA获得超过2789个赞
知道大有可为答主
回答量:2011
采纳率:100%
帮助的人:2429万
展开全部
少了一句scmd.ExecuteNonQuery();
加在sconn.Close();的前面。
还有,把sconn.Open();改为
if(sconn.State!=ConnectionState.Open)
{sconn.Open();}
否则可能会因为数据库连接已经打开而出错。

你的 "="附近有语法错误 原因是:
Updata应该是Update,就这一个小小的细节`~~~
Andy_Sun321
2017-08-31 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:725万
展开全部
简单的处理方法: 将更新语句输出(可以设置成一个控件的文本,或者直接Response.Write),然后将更新语句复制到SQL Server中直接执行,如果执行有错误,则是SQL语句的拼接有问题;否则是C#代码有问题。
另外,直接拼接SQL语句会有SQL注入风险,建议使用参数化语句(即使用SqlParameter)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海搬家拉货88
2017-08-30 · TA获得超过181个赞
知道答主
回答量:212
采纳率:0%
帮助的人:42.9万
展开全部
你逐行运行 到
scmd.CommandText = "Updata xsxx Set 住址='" + TextBox1.Text + "'where 姓名='" + Session["xsxx"] +"'";

看看sql 语句是否正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-27
展开全部
说明是这两个出错:conn.Open();数据库打开objCommand.ExecuteNonQuery();执行sql语句调试一下,看看数据库能不能打开,输出生成的sql语句检查一下.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友25cee2c71
2010-05-03 · TA获得超过193个赞
知道答主
回答量:35
采纳率:0%
帮助的人:31.2万
展开全部
程序应该会报错吧?
scmd.CommandType=CommandType.Text;
而且你SQL语句中没指定条件update需要指定条件
输入字符串类型都没指出~~~
我帮你写个列子吧~~
sconn.ConnectionString=connstr;
scmd.Connection=sconn;
scmd.CommandText= "Update xsxx Set 住址='" + TextBox1.Text + "' where 姓名='"+ Session["xsxx"] + "'";
scmd.CommandType=CommandType.Text;
sconn.Open();
scmd.ExecuteNonQuery();
sconn.Close();
这样应该就可以了~

更新语句是Update 不是Updata
你自己在数据库中试试用SQL语句更新看看,如果没问题的话应该就不会有问题的~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuyongjin0325
2010-05-01 · TA获得超过144个赞
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
你一步一步的调试一下。我记得session的类型是object,你把Session["xsxx"] 改为Session["xsxx"].toString();或者ConverttoString(Session["xsxx"])。祝你好运
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式