在vs中使用textbox把数据更新给数据,可是数据库里没有,是不是语句有问题

关于桥 2017-12-26 11:01:17
protected void Page_Load(object sender, EventArgs e)
{
string connstr = ConfigurationManager.ConnectionStrings["Mispersonalconn"].ConnectionString;
SqlConnection Sqlconn = new SqlConnection(connstr);
SqlCommand cmm = new SqlCommand("select * from Tb_attendece_rule",Sqlconn);
SqlDataReader read;
Sqlconn.Open();
read=cmm.ExecuteReader();
if (read.Read())
{
TextBox1.Text = read[0].ToString().Split(':')[0];
TextBox2.Text = read[0].ToString().Split(':')[1];
TextBox3.Text = read[0].ToString().Split(':')[2];
TextBox4.Text = read[1].ToString().Split(':')[0];
TextBox5.Text = read[1].ToString().Split(':')[1];
TextBox6.Text = read[1].ToString().Split(':')[2];
TextBox7.Text = read[2].ToString().Split(':')[0];
TextBox8.Text = read[2].ToString().Split(':')[1];
TextBox9.Text = read[2].ToString().Split(':')[2];
TextBox10.Text = read[3].ToString().Split(':')[0];
TextBox11.Text = read[3].ToString().Split(':')[1];
TextBox12.Text = read[3].ToString().Split(':')[2];
}
read.Close();
Sqlconn.Close();
}
protected void BtnOK_Click(object sender, EventArgs e)
{
if ((string)Session["Name"] != "")
{
if ((string)Session["role"] == "管理员")
{
string sql= "Update Tb_attendece_rule set Onwork_Ahead='"
+TextBox1.Text.ToString().Trim()+":"
+TextBox2.Text.ToString().Trim()+":"
+TextBox3.Text.ToString().Trim()+ "',Onwork_Normal='"
+TextBox4.Text.ToString().Trim()+":"
+TextBox5.Text.ToString().Trim()+":"
+TextBox6.Text.ToString().Trim()+ "',Offwork_Delay='"
+TextBox7.Text.ToString().Trim()+":"
+TextBox8.Text.ToString().Trim()+":"
+TextBox9.Text.ToString().Trim()+ "',Offwork_Normal='"
+TextBox10.Text.ToString().Trim()+":"
+TextBox11.Text.ToString().Trim()+":"
+TextBox12.Text.ToString().Trim()+ "'";
string connstr = ConfigurationManager.ConnectionStrings["Mispersonalconn"].ConnectionString;
SqlConnection Sqlconn = new SqlConnection(connstr);
Sqlconn.Open();
SqlCommand sc = new SqlCommand(sql, Sqlconn);
sc.ExecuteNonQuery();
lbMessage.Text = "设置成功!";
Sqlconn.Close();
}
else
{
Response.Write("<script>alert('只有管理员才可以进行此操作!')</script>");
}
}
else
{
Response.Redirect("Default.aspx"); ;
}
}
...全文
580 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
E次奥 2018-01-09
  • 打赏
  • 举报
回复
调试一下,看数据传入Sql语句了没? 看执行成功了没??? 如果没成功,看包什么异常,根据异常才能解决问题;
yzf86211861 2018-01-05
  • 打赏
  • 举报
回复
学会 调试, 把 你拼的那个 SQL 语句 拿到 查询分析器 里面看一下 是不是 正确
早起晚睡 2018-01-05
  • 打赏
  • 举报
回复
单步调试 看看拼接的sql 语句有问题吗,一看很明了!!!!
秋的红果实 2018-01-04
  • 打赏
  • 举报
回复
4)用参数法写sql语句,防止注入
秋的红果实 2018-01-04
  • 打赏
  • 举报
回复
#4 + 另外, 1)set Onwork_Ahead='"                      +TextBox1.Text.ToString().Trim()+"'," 后面语句也一样要改 2) read.Close();         Sqlconn.Close(); ==>

if(read!=null)
{
    read.Close();
}
//SQLconn也一样

3)加上try....catch.....
BrucesLong 2018-01-04
  • 打赏
  • 举报
回复
要判断sql语句是否正确,最简单最有效地方式就是调试代码,然后将要执行的的sql语句复制到数据库中直接执行。 数据库连接关闭要放在finally块中,始终都要关闭连接。或者用using方式也可以。
jun471537173 2018-01-04
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } 加上这个判断
FainSheeg 2017-12-27
  • 打赏
  • 举报
回复
你的update连where 子句都没有吗?而且你的sqlcommand执行后连返回值都不判断一下就直接认为设置成功?
changjiangzhibin 2017-12-27
  • 打赏
  • 举报
回复

int rows =  sc.ExecuteNonQuery();
//rows>0,说明插入数据成功
HL_GT 2017-12-27
  • 打赏
  • 举报
回复
sql语句写错了UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 and 列名称1 = 某值1;where后面的条件中间不是用;间隔,是用and!

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧