person
と呼ばれる2つの行で呼び出されるテーブルを持つDBがありpersonID
ますfirstName
これで、ID と名を要求する 2 つのテキスト ボックスを含むフォームができました。
つまり、ID と firstName が同じレコードからのものであるかどうかを DB で確認しadmin
、レコードが一致し、エラー ラベルが表示されない場合に呼び出される別のフォームに移動する方法がわかりません。
これについて何か助けていただければ幸いです、ありがとう。
編集:これは現在のコードで、connection already open, connection must be open
エラーが発生しています
private void btnLoginScreen_Click(object sender, EventArgs e)
{
{
switch (dbAuth(txtAdminLogID.Text, txtAdminLogName.Text))
{
case true:
//Open Admin form
break;
case false:
//Show Errorlabel here
break;
case null:
//An error occured while fetching data
break;
default:
break;
}
}
}
public bool? dbAuth(string personID, string firstName)
{
try
{
MySqlCommand command = new MySqlCommand();
command.CommandText = "SELECT * FROM person";
MySqlDataReader Reader;
conn.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
if (Reader[0].ToString() == personID) //first check if the ID is equal
{
if (Reader[1].ToString() == firstName) //if ID is equal, check if firstName is equal
{
conn.Close();
return true;
}
}
}
conn.Close();
return false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
編集:これは私の接続文字列です:
string connstring = "server=localhost;user Id=root;database=collegesystem;Convert Zero Datetime=True ";
MySqlConnection conn;