私はデータベースに接続する食料品店アプリケーションを作っています。私はログインページマネージャのCashier1とCashier 2で3人のユーザーを持っています。データが既にデータベースに保存されているので、関連するユーザーのフォームを開きたいと思います。マネージャのマネージャとパスワードを入力すると、マネージャのページャにアクセスする必要があります。私がキャッシャー資格情報を入力すると、キャッシャーページが開かれるはずです。私のコードは以下のとおりです。データベースからデータを収集中にC#でログインページ別のフォームページを開くには
私はC#windowsフォームアプリケーションを使用しています。
データベースからパスワードフィールドのみを抽出し、それをtxtUser.textと比較することが可能な場合、その方法で動作するかしないか?
private void btnLogin_Click(object sender, EventArgs e)
{
SqlConnection con1 = new SqlConnection(@"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Northwind;Integrated Security=True");
string query= "select * from ManCash Where USERNAME='"+txtUser.Text+"'and PASS = '"+txtPass.Text+"'";
SqlDataAdapter sda = new SqlDataAdapter(query, con1);
DataTable DT = new DataTable();
sda.Fill(DT);
if (DT.Rows.Count>0&&DT.Rows.Count<=1)
{
this.Hide();
Manager frm4 = new Manager();
frm4.ShowDialog();
this.Close();
}
else if(DT.Rows.Count>1&&DT.Rows.Count<=2)
{
this.Hide();
Cashier frm5 = new Cashier();
frm5.ShowDialog();
this.Close();
}
else if (DT.Rows.Count==3)
{
this.Hide();
Cashier frm5 = new Cashier();
frm5.ShowDialog();
this.Close();
}
ManCashテーブルには、ログインごとに2つのロール "manager"と "Cashier"が用意されていませんか?この場合、データテーブルの選択された行から得られたRole値に単純なスイッチを使用します。 – Graffito
私はこのタイプのコーディングの非常に基本的なレベルであり、MS SQLにとって非常に新しいです。ロールカラムについてはわかりません。 –
「ログイン」と「パスワード」カラムのほかに、「ロール – Graffito