Новое в C #, попытка поместить массив в оператор IN () SQL.
Другими словами, выполните запрос примерно так:
SELECT * FROM таблицы, где что-то находится ([array_elem_1], [array_elem_2] ...)
Довольно легко сделать в PHP / MySQL:
mysql_query('SELECT * FROM table WHERE something IN("' . implode('","', array_map('mysql_real_escape_string', $values)) .'")');
Но лучше всего я могу понять с помощью C # / ODBC:
using (OdbcCommand cmd = new OdbcCommand("SELECT * FROM table WHERE something IN (" + String.Join(",", Enumerable.Repeat("?", values.Count)) + ")", conn))
{
foreach (var kvp in values)
{
var param = cmd.CreateParameter();
param.Value = kvp.Key;
cmd.Parameters.Add(param);
}
cmd.ExecuteReader();
}
Возможно, есть лучший способ сделать это без такого большого количества кода?
Спасибо!