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
"="附近有语法错误。-- 展开
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
"="附近有语法错误。-- 展开
10个回答
展开全部
简单的处理方法: 将更新语句输出(可以设置成一个控件的文本,或者直接Response.Write),然后将更新语句复制到SQL Server中直接执行,如果执行有错误,则是SQL语句的拼接有问题;否则是C#代码有问题。
另外,直接拼接SQL语句会有SQL注入风险,建议使用参数化语句(即使用SqlParameter)。
另外,直接拼接SQL语句会有SQL注入风险,建议使用参数化语句(即使用SqlParameter)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你逐行运行 到
scmd.CommandText = "Updata xsxx Set 住址='" + TextBox1.Text + "'where 姓名='" + Session["xsxx"] +"'";
看看sql 语句是否正确
scmd.CommandText = "Updata xsxx Set 住址='" + TextBox1.Text + "'where 姓名='" + Session["xsxx"] +"'";
看看sql 语句是否正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-27
展开全部
说明是这两个出错:conn.Open();数据库打开objCommand.ExecuteNonQuery();执行sql语句调试一下,看看数据库能不能打开,输出生成的sql语句检查一下.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序应该会报错吧?
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语句更新看看,如果没问题的话应该就不会有问题的~~
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语句更新看看,如果没问题的话应该就不会有问题的~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你一步一步的调试一下。我记得session的类型是object,你把Session["xsxx"] 改为Session["xsxx"].toString();或者ConverttoString(Session["xsxx"])。祝你好运
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询