Я в основном пытаюсь найти самый простой способ выполнить вашу базовую операцию вставки в C# .NET с использованием пространства имен SqlClient.
Я использую SqlConnection для своей ссылки на базу данных, мне уже удалось выполнить некоторые операции чтения, и я хочу знать самый простой способ вставки данных. Когда я гулю, я нахожу довольно подробные методы.





using (var conn = new SqlConnection(yourConnectionString))
{
var cmd = new SqlCommand("insert into Foo values (@bar)", conn);
cmd.Parameters.AddWithValue("@bar", 17);
conn.Open();
cmd.ExecuteNonQuery();
}
Предложите изменить на: using (var conn = new SqlConnection (yourConnectionString)) using (var cmd = new SqlCommand ("вставить в значения Foo (@bar)", conn)) {cmd.Parameters.AddWithValue ("@ bar", 17 ); conn.Open (); cmd.ExecuteNonQuery (); }
(Перемещение старого ответа сюда в качестве комментария) Я намеренно оставил использование SqlCommand, поскольку OP искал «простейший» код для вставки (хотя я оставил его на соединении, потому что это более важно). Я согласен, что это хорошая практика.
using (SqlConnection myConnection new SqlConnection("Your connection string"))
{
SqlCommand myCommand = new SqlCommand("INSERT INTO ... VALUES ...", myConnection);
myConnection.Open();
myCommand.ExecuteNonQuery();
}
-1. Такой подход поощрял бы создание строки SQL вручную, а не использование параметризованного SQL. Извини
Поскольку вы, кажется, только начинаете с этого, сейчас лучшее время для ознакомления с концепцией уровня доступа к данным (обязательная ссылка на википедию). Это будет очень полезно для вас в будущем, когда ваши приложения будут больше взаимодействовать с базой данных и вы захотите минимизировать дублирование кода. Также обеспечивает более последовательное поведение, упрощая тестирование и многие другие вещи.
Пятно! Использование параметра не только защитит вас от атак SQL-инъекций (конечно, в зависимости от типа параметра .net), но также позволит SQL Server кэшировать скомпилированный запрос и просто заменить параметр при следующем вызове этого кода.