大家好,又见面了,我是你们的朋友全栈君。OleDbCommand 的特点在于以下对数据源执行命令的方法:
ExecuteReader
执行返回行的命令。如果用 ExecuteReader 执行如 SQL SET 语句等命令,则可能达不到预期的效果。
ExecuteNonQuery
执行 SQL INSERT、DELELE、UPDATE 和 SET 语句等命令。
ExecuteScalar
从数据库中检索单个值(例如一个聚合值)。
您可以重置 CommandText 属性并重复使用 OleDbCommand 对象。但是,在执行新的命令或先前命令之前,必须关闭 OleDbDataReader。
如果执行 OleDbCommand 的方法 OleDbConnection 生成致命的 OleDbException(例如,SQL Server 严重级别等于或大于 20),连接可能会关闭。但是,用户可以重新打开连接并继续操作。
使用“用于 Oracle 的 Microsoft OLE DB 提供程序”(MSDAORA) 和用于 OLE DB 的 .NET 数据提供程序查询 Oracle 数据库时,使用 LIKE 子句查询固定长度的字段中的值不会返回所有预期的匹配项。例如,如果 Oracle 数据库中的表包含定义为 char(3) 的字段名“Field1”,并且您在该表的某一行中输入了值“a”,则下面的代码将无法返回该行。
[Visual Basic]
Dim sql As String = “SELECT * FROM Table1 WHERE Field1 LIKE ?”
Dim cmd As OleDbCommand = New OleDbCommand(sql, oracleConn)
cmd.Parameters.Add(“@p1”, OleDbType.Char, 3).Value = “a”
Dim dr As OleDbDataReader = cmd.ExecuteReader()
[C#]
string sql = “SELECT * FROM Table1 WHERE Field1 LIKE ?”;
OleDbCommand cmd = new OleDbCommand(sql, oracleConn);
cmd.Parameters.Add(“@p1”, OleDbType.Char, 3).Value = “a”;
OleDbDataReader dr = cmd.ExecuteReader();
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144318.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...