2
以下は、EmployeeNumber
とDOB
がSQL Serverデータベースに存在していますが、ボタンを押した後に出力されます。SQL Server ExpressへのC#リンクの出力が間違っています
私は何度も試してみましたが、間違った出力を引き起こす問題を理解できませんでした。
ご協力いただきありがとうございます!
C#コード:
private void btn_Click(object sender, EventArgs e)
{
string constring = ConfigurationManager.ConnectionStrings["FirstConnection"].ConnectionString;
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd = new SqlCommand("spEmployeeC", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Employee", txtEmployee.Text);
cmd.Parameters.AddWithValue("@DOB", txtPassword.Text);
//cmd.IsValid
con.Open();
cmd.ExecuteNonQuery();
if (txtEmployee.Text == "@Employee" && txtPassword.Text == "@DOB")
{
MessageBox.Show("Welcome " + txtEmployee.Text);
}
else
{
MessageBox.Show("The Username or Password you entered is incorrect. Please try again");
}
}
SQL Serverのストアドプロシージャのコード:
CREATE PROCEDURE spEmployeeC
@Employee INT,
@DOB DATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Employee_check INT;
DECLARE @Password_check DATE;
SELECT *
FROM Employee_Table
WHERE [EMPLOYEE_NUM] = @Employee AND [DOB] = @DOB
END
まずは:http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/ – DavidG
2番目:結果は何もしないストアドプロシージャの実行ユーザー名のテキストボックスに「@Employee」というテキストが含まれているかどうかをチェックするだけです。 – DavidG
@DavidGこんにちはDavid!共有していただきありがとうございます。私のコードを改善する良い方法はありますか? :) – FredaC