《2022年2022年关于.NET访问ORACL .pdf》由会员分享,可在线阅读,更多相关《2022年2022年关于.NET访问ORACL .pdf(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Data.OracleClient; nam
2、espace xjy.DAL / / OraDbHelper 对 ORACLE 数据库操作的通用类/ 作者 ;薛佳岳/ 日期 :2009-12-18 / public class OraDbHelper private string connectionString; / / 设置数据库字符串的连接/ public string ConnectionString set connectionString = value; public OraDbHelper(string connectionString) this.connectionString = connectionString; #
3、region ExecuteDataTable / / 执行一个查询,并返回结果集/ / 要执行的查询SQL 文本命令/ 返回查询结果集public DataTable ExecuteDataTable(string commandText) return ExecuteDataTable(commandText CommandType.Text null); / 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - / 执行一个查询
4、并返回查询结果/ / 要执行的 SQL 语句/ 要执行的查询语句的类型,如存储过程或者SQL 文本命令/ 返回查询结果集public DataTable ExecuteDataTable(string commandText CommandType commandType) return ExecuteDataTable(commandText commandType null); / / 执行一个查询并返回查询结果/ / 要执行的 SQL 语句/ 要执行的查询语句的类型,如存储过程或者SQL 文本命令/ PL-SQL 语句或存储过程的参数数组/ public DataTable Execut
5、eDataTable(string commandText CommandType commandType params OracleParameter parameters) DataTable data = new DataTable();/实例化 DataTable ,用于装载查询结果集using (OracleConnection connection = new OracleConnection(connectionString) using (OracleCommand command = new OracleCommand(commandText connection) comm
6、and.CommandType = commandType;/设置 command的 CommandType为指定的 CommandType /如果同时传入了参数,则添加这些参数if (parameters != null) foreach (OracleParameter parameter in parameters) command.Parameters.Add(parameter); /通过包含查询SQL 的 SqlCommand实例来实例化SqlDataAdapter OracleDataAdapter adapter = new OracleDataAdapter(command)
7、; adapter.Fill(data);/填充 DataTable return data; #endregion ExecuteDataTable #region ExecuteReader / / 将 CommandText 发送到Connection 并生成一个OracleDataReader。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - / / 要执行的查询SQL 文本命令/ public OracleDataRea
8、der ExecuteReader(string commandText) return ExecuteReader(commandText CommandType.Text null); / / 将 CommandText 发送到Connection 并生成一个OracleDataReader。/ / 要执行的 SQL 语句/ 要执行的查询语句的类型,如存储过程或者SQL 文本命令/ public OracleDataReader ExecuteReader(string commandText CommandType commandType) return ExecuteReader(co
9、mmandText commandType null); / / 将 CommandText 发送到Connection 并生成一个OracleDataReader。/ / 要执行的 SQL 语句/ 要执行的查询语句的类型,如存储过程或者SQL 文本命令/ Transact-SQL 语句或存储过程的参数数组/ public OracleDataReader ExecuteReader(string commandText CommandType commandType OracleCommand parameters) OracleConnection connection = new Ora
10、cleConnection(connectionString); OracleCommand command = new OracleCommand(commandText connection); /如果同时传入了参数,则添加这些参数if (parameters != null) foreach (OracleCommand parameter in parameters) command.Parameters.Add(parameter); connection.Open(); /CommandBehavior.CloseConnection参数指示关闭Reader 对象时关闭与其关联的C
11、onnection对象return command.ExecuteReader(CommandBehavior.CloseConnection); #endregion ExecuteReader #region ExecuteScalar / 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - / 从数据库中检索单个值(例如一个聚合值)。/ / 要执行的查询PL-SQL 文本命令/ public object ExecuteSca
12、lar(string commandText) return ExecuteScalar(commandText CommandType.Text null); / / 从数据库中检索单个值(例如一个聚合值)。/ / 要执行的 SQL 语句/ 要执行的查询语句的类型,如存储过程或者PL-SQL 文本命令/ public object ExecuteScalar(string commandText CommandType commandType) return ExecuteScalar(commandText commandType null); / / 从数据库中检索单个值(例如一个聚合值
13、)。/ / 要执行的 SQL 语句/ 要执行的查询语句的类型,如存储过程或者SQL 文本命令/ PL-SQL 语句或存储过程的参数数组/ public object ExecuteScalar(string commandText CommandType commandType OracleParameter parameters) object result = null; using (OracleConnection connection = new OracleConnection(connectionString) using (OracleCommand command = new
14、 OracleCommand(commandText connection) command.CommandType = commandType;/设置 command的 CommandType为指定的 CommandType /如果同时传入了参数,则添加这些参数if (parameters != null) foreach (OracleParameter parameter in parameters) command.Parameters.Add(parameter); connection.Open();/打开数据库连接result = command.ExecuteScalar();
15、 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - return result;/ 返回查询结果的第一行第一列,忽略其它行和列 #endregion ExecuteScalar #region ExecuteNonQuery / / 对数据库执行增删改操作/ / 要执行的查询pl-sql 文本命令/ public int ExecuteNonQuery(string commandText) return ExecuteNonQu
16、ery(commandText CommandType.Text null); / / 对数据库执行增删改操作/ / 要执行的 pl-sql 语句/ 要执行的查询语句的类型,如存储过程或者pl-sql 文本命令/ public int ExecuteNonQuery(string commandText CommandType commandType) return ExecuteNonQuery(commandText commandType null); / / 对数据库执行增删改操作/ / 要执行的 pl-sql 语句/ 要执行的查询语句的类型,如存储过程或者pl-sql 文本命令/ p
17、l-sql 语句或存储过程的参数数组/ 返回执行操作受影响的行数public int ExecuteNonQuery(string commandText CommandType commandType OracleParameter parameters) int count = 0; using (OracleConnection connection = new OracleConnection(connectionString) using (OracleCommand command = new OracleCommand(commandText connection) comman
18、d.CommandType = commandType;/设置 command的 CommandType为指定的 CommandType /如果同时传入了参数,则添加这些参数if (parameters != null) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - foreach (OracleParameter parameter in parameters) command.Parameters.Add(parameter); connection.Open();/打开数据库连接count = command.ExecuteNonQuery(); return count;/ 返回执行增删改操作之后,数据库中受影响的行数 #endregion ExecuteNonQuery 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -