1

我是这个网站的新手,也是编程的新手。我目前正在通过销售点创建库存系统。它使用模态和非模态形式。我的问题是,我正在处理change password必须连接到数据库才能覆盖密码字段的对话框。我使用的数据库是microsoft sql server management studio express。这是我到目前为止所拥有的必要评论。请注意,在“设计”表单上,我有一个绑定到数据库的组合框。我哪里做错了?

private void ChangePwdButton_Click(object sender, EventArgs e)
{
  SqlConnection sqlconn = new SqlConnection();
  sqlconn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Gerald-   dean Martin\Documents\SQL Server Management Studio Express\Projects\BodyMates.mdf;Integrated Security=True;User Instance=True";
     sqlconn.Open();
    string oldpwd = txtOldPwd.Text;
    string newpwd = txtNewPwd.Text;
    string confirmNewPwd = txtConfirmNewPwd.Text;
    string sqlquery = "UPDATE [Employee] SET Pwd=@newpass where EmployeeCode=@empcode";
    SqlCommand cmd = new SqlCommand(sqlquery, sqlconn);
    cmd.Parameters.AddWithValue("@newpass", txtConfirmNewPwd.Text);
    cmd.Parameters.AddWithValue("@empcode", comboEmpCode.SelectedValue);
    //cmd.Parameters.AddWithValue("@pwd", txtNewPwd.Text);
    cmd.Connection = sqlconn;
    cmd.ExecuteNonQuery();
    SqlDataReader dr = cmd.ExecuteReader();             
    while (dr.Read())
    {
        if(txtOldPwd.Text == dr["pwd"].ToString() && (txtNewPwd.Text == txtConfirmNewPwd.Text))
        {
            if (comboEmpCode.SelectedIndex == 0)
            {
               string query = "UPDATE [Employee] SET Pwd = '" + txtConfirmNewPwd.Text + "'";
            }
        }

       // if ((txtNewPwd.Text == dr["newpwd"].ToString()) & (txtConfirmNewPwd.Text == (dr["confirmNewPwd"].ToString()))) { }
    }
   // MessageBox.Show("Password was changed Successfully!", "Password Change", MessageBoxButtons.OK, MessageBoxIcon.Information); 
}
4

1 回答 1

1

您可以使用ExecuteNonQuerylikecmd.ExecuteNonQuery();它返回int值。像这样使用它;

int i = cmd.ExecuteNonQuery();

而且也是ExecuteReader()这样工作的;

SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine(String.Format("{0}", reader[0]));
        }

您可以读取返回数据的列。像第一列reader[0],第二列reader[1]等。

但是在所有这些信息之前,如果您是编程新手,您可以在 Stackoverflow 上找到很多书籍建议和有用信息。检查这些文章;

于 2012-12-25T22:29:30.967 回答