Я пытаюсь вставить несколько записей в таблицу, используя ado.net
, и печатать id
вставлено.
Мой код такой:
List<string> listQuery = new List<string>()
{
"INSERT INTO Students (Name) VALUES ('student1');SELECT @@Identity;",
"INSERT INTO Students (Name) VALUES ('student2');SELECT @@Identity;",
"INSERT INTO Students (Name) VALUES ('student3');SELECT @@Identity;",
};
using (SqlConnection connection = new SqlConnection(_connectionString))
{
try
{
connection.Open();
using (SqlCommand command = new SqlCommand())
{
command.Connection = connection;
foreach (var myQuery in listQuery)
{
command.CommandText = myQuery;
int id = Convert.ToInt32((decimal)command.ExecuteScalar());
Console.WriteLine("Inserted: " + id);
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
//Close and dispose
connection.Close();
}
}
Интересно,я должен выполнить каждую команду, как это? Или объединить все запросы и выполнить только раз?.
Если я должен выполнить один раз. Как я могу получить все id
вставленных записей?