Ich habe folgende C#Holen Sie die neue Primärschlüssel-ID des Datensatzes aus der SQL-Einfügeabfrage, um denselben Wert in eine andere Tabelle einzufügen?
protected void add_button_Click(object sender, EventArgs e)
{
string teamname = team_name_tb.Text;
string teamstatus = "Not Started";
string teamnotes = team_notes_tb.Text;
string sprintid = sprint_select.SelectedValue;
string ConnectionString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(ConnectionString);
myConnection.Open();
String query = "INSERT INTO teams (team_name, status, notes)
VALUES (@team_name, @status, @notes);
INSERT INTO sprints_vs_teams (sprint_id, team_id)
VALUES (@sprint_id, @team_id)";
SqlCommand myCommand = new SqlCommand(query, myConnection);
myCommand.Parameters.AddWithValue("@team_name", teamname);
myCommand.Parameters.AddWithValue("@status", teamstatus);
myCommand.Parameters.AddWithValue("@notes", teamnotes);
myCommand.Parameters.AddWithValue("@sprint_id", sprintid);
myCommand.Parameters.AddWithValue("@team_id", ????);
myCommand.ExecuteNonQuery();
myConnection.Close();
}
In der teams
Tabelle der Primärschlüssel ist team_id
Ich möchte den Wert dieser ziehen zu können und legen Sie sie in das team_id
Feld in der Lookup-Tabelle I sprints_vs_teams
haben. Gibt es eine Methode, dies zu tun, wenn ja, könntest du mir vielleicht eine Anleitung geben, bitte sei dir bewusst, dass ich C# sehr neu bin. Jede Hilfe würde sehr geschätzt werden.
Geänderte Code
protected void add_button_Click(object sender, EventArgs e)
{
String user = Session["user_id"].ToString();
string teamname = team_name_tb.Text;
string teamstatus = "Not Started";
string teamnotes = team_notes_tb.Text;
string sprintid = sprint_select.SelectedValue;
string ConnectionString = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection myConnection = new SqlConnection(ConnectionString);
myConnection.Open();
String query = "Declare @team_identity int INSERT INTO teams (team_name, status, notes) VALUES (@team_name, @status, @notes); set @team_identity = scope_identity() INSERT INTO sprints_vs_teams (sprint_id, team_id) VALUES (@sprint_id, @team_identity)";
SqlCommand myCommand = new SqlCommand(query, myConnection);
myCommand.Parameters.AddWithValue("@team_name", teamname);
myCommand.Parameters.AddWithValue("@status", teamstatus);
myCommand.Parameters.AddWithValue("@notes", teamnotes);
myCommand.Parameters.AddWithValue("@sprint_id", sprintid);
myCommand.ExecuteNonQuery();
myConnection.Close();
}
geändert ich meinen Code mit @Sick ‚s Antwort, aber es ist nicht zu funktionieren schien. Wenn jemand Ratschläge geben könnte, wo ich vielleicht schief gelaufen bin, würde ich es sehr schätzen.
Bitte näher auf die „es scheint nicht zu funktionieren“. Ein Fehler? Keine Daten eingefügt? Falsche Daten eingefügt? – AakashM