Мне нужно обновить следующий код, чтобы использовать подготовленные операторы:
OdbcCommand cmd = sql.CreateCommand();
cmd.CommandText = "SELECT [EMail] from myTable WHERE "+,
for (int i = 0; i < 50; i++)
{
if (i > 0)
{
cmd.CommandText += " OR ";
}
cmd.CommandText += "UNIQUE_ID = " + lUniqueIDS[i];
}
Запретите мой глупый код, приведенный выше, это всего лишь пример ... Я пытаюсь получить все электронные письма пользователей с идентификаторами x, y, z и т. Д.
Вопрос в том, как мне переписать его, используя подготовленные утверждения?
Слепое наивное предположение будет
for (int i = 0; i < 50; i++)
{
if (i > 0)
{
cmd.CommandText += " OR ";
}
cmd.CommandText += "UNIQUE_ID = ?";
cmd.Parameters.Add("@UNIQUE_ID", OdbcType.BigInt).Value = lUniqueIDS[i];
}
Должно ли это работать? Могу ли я добавить один и тот же параметр (unique_id) более одного раза?