私は新しいC#およびASP.NET開発者です。私は自分の会社のために簡単なイントラネット予約管理システムを開発しています。イベントの前にユーザーが予約しているかどうかをシステムに確認してもらいたい。
私は次のデータベース設計を持っています:
Users Table: UserID, Name
Events Table: ID, Title, Description, Location, NumberOfSeats, StartDateTime, EndDateTime, IsActive
Booking Table: BookingID, EventID, UserID
これまでに行ったことは、UserID(ユーザーが[予約]ボタンをクリックしたとき)がUsersテーブルにあるかどうかを確認することです。そうでない場合、彼はデータベースに自動的に追加されます。次に、BookingDetailsテーブルをチェックして、彼がそのイベントで予約をしているかどうかを確認したいのですが、その方法がわかりません。
この条件の設計を手伝っていただけませんか。
ユーザー名を確認する方法は次のとおりです。
protected void checkUserID(string userID) {
int eventID = Convert.ToInt32(HiddenField1.Value);
string NetworkID = userID;
string Name = Service.(".......");
string BadgeNo = Service("ffffff");
string DepartmentCode = Service("ffffff");
string connString = "Data Source=localhost\\sqlexpress;Initial Catalog=RegistrationSysDB;Integrated Security=True;";
//if the user is not in the system database, add him
if (Security.isExisted(userID) == false)
{
//string connString = "Data Source=localhost\\sqlexpress;Initial Catalog=RegistrationSysDB;Integrated Security=True;";
string insertCommand = "INSERT INTO Users (NetworkID, Name, BadgeNo, DepartmentCode) values (@NetworkID, @Name, @BadgeNo, @DepartmentCode)";
using(SqlConnection conn = new SqlConnection(connString))
{
//Open DB Connection
conn.Open();
using(SqlCommand cmd = new SqlCommand(insertCommand, conn))
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@NetworkID", NetworkID);
cmd.Parameters.AddWithValue("@Name", Name);
cmd.Parameters.AddWithValue("@BadgeNo", BadgeNo);
cmd.Parameters.AddWithValue("@DepartmentCode", DepartmentCode);
cmd.ExecuteNonQuery();
}
conn.Close();
}
}
}