我與ASP.net & C#的工作創造一個體育聯盟球員轉會申請。我目前正在註冊頁面上工作,我想一次性完成,即註冊一個新團隊&聯繫人。我的問題是Team_ID需要進入「Team_User」表,將兩個表連接在一起。問題是我想不出任何兩個表都是唯一的,我可以設置一個查詢來查找「Team」表中的Team_ID。有任何想法嗎?
編輯:Team_ID是在將新團隊添加到表格時自動生成的。 我試過這個,我似乎無法得到它的工作。
// define connection string and SQL query as strings
string connectionString = ConfigurationManager.ConnectionStrings["Web_FussConnectionString"].ConnectionString;
string query = "INSERT INTO Team (League_ID, Team_Name, Address_1, Stadium) values (@League_ID, @Team_Name, @Address_1, @Stadium) & SET @Team_ID = SCOPE_IDENTITY()";
string query1 = "INSERT INTO Team_User (Team_ID, First_Name, Job_Title, Telephone_Number, Email, Password_1, Last_Name) values (@Team_ID, @First_Name, @Job_Title, @Telephone_Number, @Email, @Password_1, @Last_Name)";
// set up SqlConnection and SqlCommand in "using" blocks
using (SqlConnection con = new SqlConnection(connectionString))
using (SqlCommand cmd = new SqlCommand(query, con))
using (SqlCommand cmd1 = new SqlCommand(query1, con))
{
// define and fill parameters
cmd.Parameters.Add("@League_ID", SqlDbType.Int).Value = Session["League_ID"];
cmd.Parameters.Add("@Team_Name", SqlDbType.VarChar, 50).Value = TextBoxName.Text;
cmd.Parameters.Add("@Address_1", SqlDbType.VarChar, 50).Value = TextBoxAddress.Text;
cmd.Parameters.Add("@Stadium", SqlDbType.VarChar, 50).Value = TextBoxType.Text;
int @Team_Id = Convert.ToInt32(cmd.Parameters["@Team_ID"].Value);
cmd1.Parameters.Add("@First_Name", SqlDbType.VarChar, 50).Value = TextBoxContactName.Text;
cmd1.Parameters.Add("@Job_Title", SqlDbType.VarChar, 50).Value = TextBoxTitle.Text;
cmd1.Parameters.Add("@Telephone_Number", SqlDbType.Int).Value = TextBoxNumber.Text;
cmd1.Parameters.Add("@Email", SqlDbType.VarChar, 50).Value = TextBoxEmail.Text;
cmd1.Parameters.Add("@Password_1", SqlDbType.VarChar, 50).Value = TextBoxPassword.Text;
cmd1.Parameters.Add("@Last_Name", SqlDbType.VarChar, 50).Value = TextBoxContactLastName;
// open connection, execute Non Query, close connection
con.Open();
cmd.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
con.Close();
}
FWIW這是一個正確的答案,但如果你需要多行:'INSERT INTO隊...輸出inserted.Id,... INTO TeamUser ...' –
你也可以使用'選擇@new_team_id = scope_identity();' - 不需要'SET'和'SELECT' - 一個就足夠了 –
請介意看看我的編輯:) – Haldamir