Подскажите как правильно сделать. Есть список, с неопределенным количеством записей:
List<string> Sample= new List<string>();
Как этот список прогнать через SQL запрос по каждому значению индивидуально, например:
SELECT * FROM db WHERE c1 = "значение из LIST"
Давайте я покажу полный пример.
Во-первых, всегда нужно использовать параметры. Это обезопасит от sql-инъекций и ускорит выполнение запросов.
Во-вторых, всегда нужно освобождать занятые ресурсы, поэтому используем конструкцию using
.
В-третьих, соблюдаем общепринятый нейминг.
Дано: заполненный список
List<string> samples = new List<string>();
Код:
using (var conn = new SqlConnection(connectionString))
{
conn.Open();
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM table WHERE c1 = @param"; ;
var sqlParameter = cmd.Parameters.Add("param", SqlDbType.NVarChar);
foreach (var sample in samples)
{
sqlParameter.Value = sample;
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
// здесь получаем значения из ридера
}
}
}
}
}
Вы не указали, какую именно СУБД используете. В примере предполагается Sql Server. Если используется другая, замените, соответственно, SqlConnection
и SqlDbType
на нужные типы.
Выбирай любой из вариантов:
1.
List<string> strings = new List<string> {"a", "b", "asdf"};
//в даном случае это генерация листа, но можно и достать готовый из БД.
strings.ForEach(a=> Console.WriteLine(a)); //вывод в консоль каждого из элементов
2.
foreach(string item in strings)
{
Console.WriteLine(item);
}
3.
for(int i = 0; i < strings.Count; i++)
{
Console.WriteLine(strings[i]);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хотелось бы попробовать на открытом проекте деплой на GitHubНачал пробовать appveyor
Столкнулся с непростой ситуациейЗаказчик заказал игровой симулятор, но с условием, что он будет работать в вебе
Я разрабатываю self-contained приложение (автономное развертывание) на AspNET Core 2