Gai*_*din 1 vb.net oracle odbc
我正在使用Microsoft ODBC for Oracle驱动程序成功连接到Oracle 10g数据库.
没有参数的常规查询可以正常工作,但参数化查询就好像参数没有被传入一样.
恩.
--this works fine
Select * from tbl1 where column1 = 'test'
--this doesn't
select * from tbl1 where column1 = ?
--odbc string parameter 'test'
Run Code Online (Sandbox Code Playgroud)
这是我的连接字符串的样子:
"Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=" & pstrServer & ")(PORT=" & pintPort.ToString & "))" & _
"(CONNECT_DATA=(SERVICE_NAME=" & pstrPhysicalName & "))); " & _
"uid=" & pstrUserName & ";pwd=" & pstrPassword & ";"
Run Code Online (Sandbox Code Playgroud)
我正在为我的ODBC命令添加参数,如下所示:
arrOdbcParam(index) = New OdbcParameter("@paramName", paramValue)
...
cmd.Parameters.AddRange(arrOdbcParam)
Run Code Online (Sandbox Code Playgroud)
请原谅那些部分复制的,有些过时的代码.
这里有一些坏消息,但由于我只是遇到了类似的问题,这里是如何使用Centura SQLBase的ODBC驱动程序:
OdbcCommand com = con.CreateCommand();
com.CommandText = @"
SELECT thing
FROM table
WHERE searchInt = ? AND searchDat = ?";
com.Parameters.Add(new OdbcParameter("", OdbcType.Int)).Value = 12345;
com.Parameters.Add(new OdbcParameter("", OdbcType.DateTime)).Value = DateTime.Now;
OdbcDataReader reader = com.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
这将在"table"中搜索"searchInt"中值为12345且"serachDat"中的今天日期的记录.
注意事项:
?在SQL命令中标记| 归档时间: |
|
| 查看次数: |
8283 次 |
| 最近记录: |