我是新來這個網站,也編程。我目前正在通過銷售點創建庫存系統。它使用模態和非模態形式。我的問題是,我正在處理change password
對話框,該對話框必須連接到數據庫才能覆蓋密碼字段。我使用的數據庫是microsoft sql server management studio express。這是我迄今爲止的必要評論。請注意,在「設計」表單中,我有一個綁定到數據庫的組合框。我哪裏做錯了?在c#中創建一個sql連接#
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 [email protected] where [email protected]";
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);
}
爲什麼你認爲你可以從一個更新命令來讀取? 'cmd.ExecuteNonQuery(); SqlDataReader dr = cmd.ExecuteReader();'。順便說一句,'cmd.Connection = sqlconn;'是多餘的。 –
什麼具體不工作? – bmm6o
@TimSchmelter特別是當你通過'new SqlCommand(sqlquery,sqlconn)':)創建命令時 –