使用 oledb 提供程序。查询是这样的:
SELECT appid
FROM table
WHERE response_id IN (?)
我获取一个 int 数组并将其发送到在数组值之间添加逗号分隔符并返回字符串的方法。然后将该字符串作为参数发送。
如果我有一个值要传递,这很好用,但是当我发送两个值时,我得到了ORA-01722
错误。
我尝试查看v_$sql
表格以查看正在执行的内容,但它没有显示我的页面执行的查询。我只能看到我通过 toad 执行的操作,即使我在两种情况下都使用相同的登录名。不确定是否还有其他存储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;
}
}