数据库读取数据传到TXT问题
做了个用户信息修改的模块,具体过程如下:读取Session数据传到TXT中,然后在TXT中修改信息,
更新到数据库,然后将更新后的数据传回到TXT。
代码如下
private UserInfo user = null;
protected void Page_Load(object sender, EventArgs e)
{
user = Session["User"] as UserInfo;
Session["U_UserID"] = user.U_UserID;
Session["U_UserName"] = user.U_Name;
Session["U_Mobile"] = user.U_Mobile;
this.Label1.Text = user.U_UserID;
this.TextBox1.Text = user.U_Name;
this.TextBox2.Text = user.U_Mobile;
}//Session数据传到TXT中显示
protected void Button3_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["storemanage"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "update UserInfo set U_Name='" + TextBox1.Text.Trim() + "',U_Mobile='" + TextBox2.Text.Trim() + "'where U_UserID='" + this.Label1.Text + "'
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
Response.Redirect("AdminInfoEdit.aspx");
con.Close();
}// 更新数据库数据
然后不知道怎么把更新后的数据传回到TXT中显示了
请问这个代码应该怎么写?
--------------------编程问答-------------------- 你txt里面的数据是更新到数据库里面的.
就是数据库里面的数据啊. 现在显示的就和数据库一样.还传出来干嘛? --------------------编程问答-------------------- 我数据是从用户登录时的Session传过来的,不是数据库里传过来,
所以改了数据库显示也没变,不知道该怎样从数据库里传过来 --------------------编程问答-------------------- 你所指的txt是控件还是后缀名是txt的文本啊。数据库里面的数据你都是从更好后传入数据表保存的。上面的都说了你数据库里面保存的就是更新的数据。你还返回回来显示干嘛? --------------------编程问答-------------------- 从数据库里读取数据传到TXT该怎么写才好~? --------------------编程问答-------------------- 是TEXTBOX --------------------编程问答-------------------- sqldatareadr dr=cmd.ExecuteReader();
if(dr.Read())
{
textbox1.text=dr[""].ToString();
} --------------------编程问答-------------------- 你的意思是不是更改TEXTBOX控件的值之后要及时更改Session里面的数据信息! --------------------编程问答-------------------- 简单的办法就是重新从数据库重新读出来. --------------------编程问答--------------------
嗯,这个也有需要,应该怎么办?
还有,我刚试了一下,发现这次没修改成功,我的代码哪里出问题了吗? --------------------编程问答--------------------
这代码... --------------------编程问答-------------------- 更新完之后简单点再重新查一次给Session赋值好了。或者你把你更新的数据直接更改在Session里面去不用做查询了。这个也好久没写过了。现在公司很少写到这些东西。都忘的差不多了。你试试吧! --------------------编程问答-------------------- 刚调试了下语句,
cmd.ExecuteNonQuery();
Response.Redirect("AdminInfoEdit.aspx");
都执行了,为什么数据库的数据却没有改变?
--------------------编程问答-------------------- 找到解决办法了,跟大家分享一下
在修给数据时,点击提交修改,
得不到文本框控件的新值,即得到的是原来的旧值;
从文本框控件中获取我修改过的数据,查看修改结果仍然是原来的数据,并且程序不报错。
空间id.Text为原来的数据
解决的方法是:
在Page_Load方法中加入IsPostBack判断,不注意的话很容易出现上面的问题。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
String sgid = Request.QueryString["gid"];
空间id.Text = 原来的数据(从数据库取得数据);
}
}
补充:.NET技术 , ASP.NET