2011-11-30 133 views
2

这里是问题: 例如,如果我输入“A”作为用户名和“A”作为密码,则单击添加用户没有任何反应。但是如果我再回来,现在输入“B”作为用户名,输入“B”作为密码,然后点击添加用户,它将前一个条目“A”&“A”添加到表格中。喜欢它后面的一个?输入数据(用户名和密码)

我知道我有一些不合适的地方。

public partial class frmManageUsers : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    } 

    protected void btnAddUser_Click1(object sender, EventArgs e) 
    { 
       //string userName, userPassword; 



     if (txtUserName.Text == "" || txtUserName.Text == null) 
     { 
      lblError.Text = ("User Name may not be empty"); 
      lblError.ForeColor = System.Drawing.Color.Red; 
      return; 
     } 
     // else 

      // userName = (txtUserName.Text); 


     if (txtPassword.Text == "" || txtPassword.Text == null) 
     { 
      lblError.Text = ("Password may not be empty"); 
      lblError.ForeColor = System.Drawing.Color.Red; 
      return; 
     } 
     //else 
      // userPassword = (txtPassword.Text); 

     //using (OleDbConnection conn = new OleDbConnection("PayrollSystem_DBConnectionString")) 
     OleDbConnection conn = 
    new OleDbConnection(ConfigurationManager.ConnectionStrings["PayrollSystem_DBConnectionString"].ConnectionString); 

      { 

       string insert = "Insert INTO tblUserLogin (UserName, UserPassword, SecurityLevel) Values (@UserName, @UserPassword, @SecurityLevel)"; 
       OleDbCommand cmd = new OleDbCommand(insert, conn); 
       cmd.Parameters.Add("@UserName", txtUserName.Text); 
       cmd.Parameters.Add("@UserPassword", txtPassword.Text); 
       cmd.Parameters.Add("@SecurityLevel", drpdwnlstSecurityLevel.SelectedValue); 
       conn.Open(); 
       cmd.ExecuteNonQuery();  
      } 

     Session["UserName"] = txtUserName.Text; 
     Session["Password"] = txtPassword.Text; 
     Session["SecurityLevel"] = drpdwnlstSecurityLevel.SelectedValue; 
     Server.Transfer("frmManageUsers.aspx"); 

     //Server.Transfer("grdUserLogin"); 

    } 
    protected void drpdwnlstSecurityLevel_SelectedIndexChanged(object sender, EventArgs e) 
    { 

    } 
} 
+0

你是否第一次使用Server.Transfer进入页面? –

回答

5

您的代码似乎缺少一个conn.Close()。这会导致延迟写入表格。另外,考虑将你的conn放入一个使用语句中,以正确处理该对象。

相关问题