Использование поставщика oledb.Запрос выглядит примерно так:
SELECT appid
FROM table
WHERE response_id IN (?)
Я беру массив int и отправляю его методу, который добавляет разделитель запятой между значениями массива и возвращает строку.Эта строка затем отправляется в качестве параметра.
Это прекрасно работает, если у меня есть одно значение для прохода, но когда я отправляю два значения, я получаю ошибку ORA-01722
.
Я пытался просмотреть таблицу v_$sql
, чтобы увидеть, что выполняется, но он не показывает запросы, выполненные моей страницей.Я могу видеть только то, что выполнил через жабу, хотя в обоих случаях я использую один и тот же логин.Не уверен, есть ли другие таблицы, которые хранят данные sql.
Строитель строк приведен ниже.
public string intArrayToString(int[] array)
{
if (array != null)
{
string delimiter = ",";
if (array.Length > 0)
{
StringBuilder builder = new StringBuilder();
builder.Append(array[0]);
for (int i = 1; i < array.Length; i++)
{
builder.Append(delimiter);
builder.Append(array[i]);
}
return builder.ToString();
}
else
{
return string.Empty;
}
}
else
{
return null;
}
}