无法更新数据库。。。

linet721 2009-05-31 05:59:03
string str2 = TextBox2.Text.ToString();//姓名
string str3 = TextBox3.Text.ToString();//性别
string str4 = TextBox4.Text.ToString(); //出生
string str5 = TextBox5.Text.ToString(); //学历
string str6 = TextBox6.Text.ToString();//专业
string str7 = TextBox7.Text.ToString();//职称
string str8 = TextBox8.Text.ToString();//籍贯
string str9 = TextBox9.Text.ToString();//备注
string ingo = "update staff_info set sex='" + str3 + "',birth='" + str4 + "',qualifications='" + str5 + "',zhuanye='" + str6 + "',zhicheng='" + str7 + "',jiguan='" + str8 + "',beizhu='" + str9 + "' where staff_name='" + Session["UserId"].ToString()+ "'";
string insert = "insert into staff_info(staff_name,sex,birth,qualifications,zhicheng,zhuanye,jiguan,beizhu) values('" + str2 + "','" + str3 + "','" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "','" + str9 + "')";
string staff_name =this.Session["staff_info"].ToString();

SqlConnection con3 = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
SqlCommand com3 = new SqlCommand("select count(*) from staff_info where staff_name ='" + staff_name+"'", con3);
com3.Connection.Open();
int i1 = (int)com3.ExecuteScalar();
com3.Connection.Close();
if (i1 > 0)
{
SqlConnection strcon = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
strcon.Open();
SqlCommand scd = new SqlCommand(ingo, strcon);
scd.ExecuteNonQuery();
strcon.Close();
Response.Write("<script>alert('更新成功!')</script>");
}


else//数据库没有姓名的记录
{
SqlConnection strcon = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
strcon.Open();
SqlCommand scd = new SqlCommand(insert, strcon);
scd.ExecuteNonQuery();
strcon.Close();
Response.Write("<script>alert('添加成功!')</script>");
}
点击更新后,但是还是无法更新数据库,问题在哪里呢?各位帮帮忙。。
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
linet721 2009-05-31
  • 打赏
  • 举报
回复
我想了下,是不是页面初始化的问题?我这个信息本来在page_load里面做了开始的数据库读取,然后再修改以后,重新update一下。
我和同学商量了下,不过不知道怎么改,只是在page_load里加了一个判定 ispostback()。但是还是读入的还是原来的数据,应该怎么改呢?
CqCoder 2009-05-31
  • 打赏
  • 举报
回复
在SQL查询分析器 执行这个语句
select count(*) from staff_info where staff_name ='你定义的变量'
linet721 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ljhcy99 的回复:]
//更新的时候首先确保数据库里有 staff_name 为Session["UserId"].ToString 得纪录。

string ingo = "update staff_info set sex='" + str3 + "',birth='" + str4 + "',qualifications='" + str5 + "',zhuanye='" + str6 + "',zhicheng='" + str7 + "',jiguan='" + str8 + "',beizhu='" + str9 + "' where staff_name='" + Session["UserId"].ToString()+ "'";

string insert = "insert into staff_inf…
[/Quote]
不知道你这个和我那个有什么区别?你只是加了一个 int cnt = scd.ExecuteNonQuery(); 这个我不需要记录那个值。
我再说下问题,是当我点更新以后
即当调用
if (i1 > 0)
{
SqlConnection strcon = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
strcon.Open();
SqlCommand scd = new SqlCommand(ingo, strcon);
int cnt = scd.ExecuteNonQuery(); // 可以得到受影响的行数
strcon.Close();
Response.Write(" <script>alert('更新成功!') </script>");
}
后显示了 ”更新成功“,但是却没有在数据库改变数据,也就是说那个update没有成功使用。。。就这里是什么问题,帮忙看看,谢谢了
linet721 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wxm3630478 的回复:]
断点打在 string ingo .........

看 Session["UserId"].ToString() 是否有值 什么值

staff_name='" + Session["UserId"].ToString()+ "'" 要确定条件成立
[/Quote]
不是那个问题 那个事我在登陆的时候定义的一个SESSION 和那个没有关系。。。
thriveliang 2009-05-31
  • 打赏
  • 举报
回复
ding !!!!!!!
ljhcy99 2009-05-31
  • 打赏
  • 举报
回复
//更新的时候首先确保数据库里有 staff_name 为Session["UserId"].ToString 得纪录。

string ingo = "update staff_info set sex='" + str3 + "',birth='" + str4 + "',qualifications='" + str5 + "',zhuanye='" + str6 + "',zhicheng='" + str7 + "',jiguan='" + str8 + "',beizhu='" + str9 + "' where staff_name='" + Session["UserId"].ToString()+ "'";

string insert = "insert into staff_info(staff_name,sex,birth,qualifications,zhicheng,zhuanye,jiguan,beizhu) values('" + str2 + "','" + str3 + "','" + str4 + "','" + str5 + "','" + str6 + "','" + str7 + "','" + str8 + "','" + str9 + "')";
string staff_name =this.Session["staff_info"].ToString();

SqlConnection con3 = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
SqlCommand com3 = new SqlCommand("select count(*) from staff_info where staff_name ='" + staff_name+"'", con3);
com3.Connection.Open();
int i1 = (int)com3.ExecuteScalar();
com3.Connection.Close();
if (i1 > 0)
{
SqlConnection strcon = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
strcon.Open();
SqlCommand scd = new SqlCommand(ingo, strcon);
int cnt = scd.ExecuteNonQuery(); // 可以得到受影响的行数
strcon.Close();
Response.Write(" <script>alert('更新成功!') </script>");
}


else//数据库没有姓名的记录
{
SqlConnection strcon = new SqlConnection(ConfigurationManager.AppSettings["project_systemConnectionString"]);
strcon.Open();
SqlCommand scd = new SqlCommand(insert, strcon);
int cnt = scd.ExecuteNonQuery(); //// 可以得到受影响的行数
strcon.Close();
Response.Write(" <script>alert('添加成功!') </script>");
}


wxm3630478 2009-05-31
  • 打赏
  • 举报
回复
断点打在 string ingo .........

看 Session["UserId"].ToString() 是否有值 什么值

staff_name='" + Session["UserId"].ToString()+ "'" 要确定条件成立

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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