C# 连接Oracle数据库和读取数据

    一直没有Oracle数据库使用的经验,现在项目对接需要使用Oracle数据库,正好花点时间来学习学习,学点皮毛然后使用用在项目上就好了。

    前面的文章对Oracle数据库的安装,以及Navicat for Oracle可视化工具安装、数据库视图/表的创建进行了详细的说明;现在就牛刀小试一下,使用C# 连接Oracle数据库和读取数据。

    本文演示使用工具为VS2005.

    首先先创建新的项目,然后添加引用:System.Data.OracleClient。步骤为:选中“引用” ---- 点击右键 ---- 菜单项中选择“添加引用(R)...” ---- 在弹出添加引用窗口中,.Net面板中找到System.Data.OracleClient ---- 点击确定即可,如下图所示。    

   

 **************************************************************************************************************

    开始连接Oracle数据,首先添加相关作用域

    using System.Data;    数据集DataTable

    using System.Data.OracleClient;    Oracle数据库连接查询等相关接口;

    连接数据库、使用OracleDataReader把数据转为DataTable的代码如下:

//dataTableName:表名或视图名,查询字段
public DataTable GetStudentInfo(string dataTableName, string codeNo)
{
	try
	{
		DataTable ResultDT = new DataTable();//返回数据
		//连接  设置超时时间
		string SqlConnStr = "Data Source=oracle;user id=system;password=123456;Connection Lifetime=10";
		OracleConnection conn = new OracleConnection(SqlConnStr);
		string sqlStr = string.Format(@"SELECT * from ""{0}""  WHERE ""Code""='{1}'", dataTableName, codeNo);
		conn.Open();
		OracleCommand cmd = new OracleCommand();
		cmd.Connection = conn;
		cmd.CommandText = sqlStr;
		cmd.CommandType = CommandType.Text;
		OracleDataReader dReader = cmd.ExecuteReader();
		//读取数据
		string dataStr = string.Empty;
		DataRow dataRow;
		//设置Table名和Column名
		ResultDT.TableName = "AerospaceCenterHis";
		for (int j = 0; j < dReader.FieldCount; j++)
		{
			//获取列名
			ResultDT.Columns.Add(dReader.GetName(j));
		}
		//循环取数据集合中的数据,存到DataTable中
		do
		{
			while (dReader.Read())
			{
				dataRow = ResultDT.NewRow();
				for (int j = 0; j < dReader.FieldCount; j++)
				{
					dataStr = dReader[j].ToString();
					dataRow[j] = dataStr;
				}
				ResultDT.Rows.Add(dataRow);
			}
		} while (dReader.NextResult());

		return ResultDT;
	}
	catch (Exception ex)
	{

	}
}

************************************************************************************************************** 

    运行调试后,达到预期的效果。

**************************************************************************************************************

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值