当前位置:编程学习 > C#/ASP.NET >>

数据库读取数据传到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里面的数据信息! --------------------编程问答-------------------- 简单的办法就是重新从数据库重新读出来. --------------------编程问答--------------------
引用 7 楼 junliu11 的回复:
你的意思是不是更改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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,