1.C#连接Oracle数据库

C#连接Oracle数据库目前常用的有三种方式:
(1)System.Data.OracleClient.dll(微软)
(2)Oracle.DataAccess.Client.dll(Oracle,也称ODP.NET)
(3)Oracle.ManagedDataAccess.dll(Oracle)
第一个需要在客户端安装数据库,且已经过时了,但是还是可以继续使用的。第二个不需要在客户端安装数据库,可以直接访问服务器上的数据库,但是区分x86和x64,也是比较麻烦的,所以我比较推荐第三种。
第三种使用前需要先下载Oracle.ManagedDataAccess.dll文件,这个下载地址百度搜一下吧,我也忘了我是在哪下载的了。
主要的我认为就是个连接字符串,粘贴一下连接字符串:

//数据源
            string connString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=***)));Persist Security Info=True;User ID=***;Password=***;";
            OracleConnection conn = new OracleConnection(connString);//实例化
            conn.Open();

我感觉还是比较简单的,在这因为创建项目的框架导致也走了不少弯路。xxx代表的是服务器地址,1521是Oracle数据库的默认端口号,另外三处的***就是数据库实例名称,用户名和密码。

2.C#连接Oracle数据库,执行操作语句

 string sql = "select * from table";
            OracleCommand cmd = new OracleCommand(sql, conn);
            OracleDataAdapter da = new OracleDataAdapter(cmd);
            DataSet ds = new DataSet();//定义数据集
            da.Fill(ds);

在这里我感觉我走的路比较麻烦了,因为我把查出来的表数据填充到了dataset里面,然后在下面我又使用循环把dataset里的数据取出来放进了datatable里面,在这大家如果有好的方法可以一同交流。

3.把datagridview的数据填充到datatable里

            //将datagridview数据转换成datatable
            DataTable tabl = new DataTable();

            tabl = dataGridView1.DataSource as DataTable;

这个填充写法好像有很大的局限性,但是我使用中没出什么问题。

4.字符串拆分

                //循环取出导入Excel的datatable的数据
                string CID = tabl.Rows[i]["地址"].ToString();
                //把地址进行拆分,例如1-2-1-1,拆分成1,2,1,1
                String[] nameStrArray = CID.Split('-');

5.添加操作

                string sql = "添加语句"OracleCommand cmd = new OracleCommand(sql, conn);
                int kl = cmd.ExecuteNonQuery();

返回受影响的行数kl,我的想法可能不是很正规,因为我也是第一次接触Oracle数据库,大家有什么意见或者对此有不同的想法,欢迎指正。大家共同学习,共同进步。

更多推荐

C#连接Oracle数据库