gpt4 book ai didi

c# - 使用 sql 查询将值插入 sql 数据库

转载 作者:太空宇宙 更新时间:2023-11-03 17:05:01 24 4
gpt4 key购买 nike

这是我创建轨道的第一行(THIS WORKS)

String TrackAdd = "INSERT INTO Track (Titel) VALUES (@Titel)";

using (SqlCommand sqlCmd = new SqlCommand(TrackAdd, connection))
{

sqlCmd.Parameters.AddWithValue("@Titel", textBoxTitel.Text);
sqlCmd.ExecuteNonQuery();
}

然后我想使用刚刚为这首轨道创建的 ID,我需要它以便我可以将它链接到其他东西(在本例中是流派。我在不同的表中指定了流派的名称并需要它们身份证)我现在正在尝试这个,但它不起作用,我真的不知道该怎么做。

using (var connection = Database.connection)
{
String Track1Genre = "INSERT INTO TrackGenre (TrackId, GenreId) VALUES (@TrackId, @GenreId)";
string Genre = listBoxGenre.GetItemText(listBoxGenre.SelectedItem);
using (SqlCommand sqlCmd = new SqlCommand(Track1Genre, connection))
{

sqlCmd.Parameters.AddWithValue("@TrackId", "Select Id from Track WHERE Titel = textBoxTitel.Text");
sqlCmd.Parameters.AddWithValue("@GenreId", "Select Id from Genre where Genre = Genre");
sqlCmd.ExecuteNonQuery();
}
}

注意:连接或任何东西都没有问题,我只需要帮助如何从数据库中获取 ID 并将它们插入到不同的表中

最佳答案

两种方式:

输出Inserted.Id

INSERT INTO Track (Titel) VALUES output INSERTED.ID (@Titel)

在 C# 中,使用:

int lastId =(int)cmd.ExecuteScalar();

Identity_Insert On

SET IDENTITY_INSERT dbo.Track ON; 
INSERT INTO Track (Id, Titel) VALUES (1, @Titel)
SET IDENTITY_INSERT dbo.Track OFF;

在此方法中,您已经知道要插入的 ID,因此您可以使用它来更新您的 TrackGenre 表。但是,是的,您必须跟踪您的 ID,或者可能在使用 select max(id) from Track

执行检查最后一个 ID 之前

关于c# - 使用 sql 查询将值插入 sql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47924953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com