私は現在、金銭の出入りを追跡するための小さなアプリケーションを作成しています。これは、私の一般的な C# スキルを向上させるためのものです。私のログイン画面には現在、次のコードがあります
private void Login_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'spendingInsAndOutsDataSet.Users' table. You can move, or remove it, as needed.
this.usersTableAdapter.Fill(this.spendingInsAndOutsDataSet.Users);
}
private void button1_Click(object sender, EventArgs e)
{
string userNameText = userName.Text;
string passwordText = password.Text;
foreach (DataRow row in spendingInsAndOutsDataSet.Users)
{
if (row.ItemArray[4].Equals(userNameText) && row.ItemArray[5].Equals(passwordText))
{
MessageBox.Show("Login Successful");
MainGUI newForm = new MainGUI();
this.Visible = false;
newForm.Show();
break;
}
else
{
userName.Text = String.Empty;
password.Text = String.Empty;
MessageBox.Show("Login Failed");
break;
}
}
}
ログインが成功したときに実行しようとしているのは、現在の PC の MachineName を SQL データベースの Users テーブルのフィールドに書き込むことです。そうすれば、レコードの作成を開始するときに、UsersId (Transactions テーブルの外部キー) をすばやく見つけることができます。
System.Enviroments パスを使用してアクティブなマシン名を取得できることは知っていますが、更新プログラムを作成する方法が正確にはわかりません。SqlCommand を使用してそれを行う方法は知っていますが、ForEach ループ内で使用した DataRows を使用するより簡単な方法があるかどうか疑問に思っています。
ご不明な点がございましたら、お気軽にお問い合わせください。
ジェームズ