免装Oracle客户端链接Oracle数据库 听语音

来源:互联网 发布:时间戳判断今天明天js 编辑:程序博客网 时间:2024/04/29 01:51
  1. 首先 从 http://pan.baidu.com/s/1hqGiDiW  下载此组件,也可以登录到Oracle官方进行下载,有此文件就可不再需要安装Oracle客户端。

  2. 该组件引用方式与其他.Net组件引用方式一样,引用->添加引用->选择需要引用的组件->确定。确保右侧引用清单中已经出现了该组件“Oracle.ManagedDataAccess.dll”。

    1. 这是一个demo的例子做为参考:

      using System;

      using System.Collections.Generic;

      using System.ComponentModel;

      using System.Data;

      using System.Drawing;

      using System.Linq;

      using System.Text;

      using System.Windows.Forms;

      using Oracle.ManagedDataAccess.Client;

      namespace WindowsFormsApplication1

      {

          public partial class Form1 : Form

          {

              public Form1()

              {

                  InitializeComponent();

              }

              private void button1_Click(object sender, EventArgs e)

              {

                  OracleConnection conn = null;

                   try

                   {

                       conn = OpenConn();

                       var cmd = conn.CreateCommand();

                       cmd.CommandText = "select sysdate from dual";

                       cmd.CommandType = CommandType.Text;

                       var reader = cmd.ExecuteReader();

                       while (reader.Read())

                       {

                           this.richTextBox1.AppendText(string.Format("sysdate={0}", reader["sysdate"])+System.Environment.NewLine);

                       }

                   }

                   catch (Exception ex)

                   {

                       Console.WriteLine(ex.Message);

                   }

                   finally

                   {

                       CloseConn(conn);

                   }

              }

               public OracleConnection OpenConn()

               {

                   OracleConnection conn = new OracleConnection();

                   conn.ConnectionString = textBox1.Text;

                   conn.Open();

                   return conn;

               }

              void CloseConn(OracleConnection conn)

               {

                   if (conn == null) { return; }

                   try

                   {

                       if (conn.State != ConnectionState.Closed)

                       {

                           conn.Close();

                       }

                   }

                   catch (Exception e)

                   {

                       Console.WriteLine(e.Message);

                   }

                   finally

                   {

                       conn.Dispose();

                   }

               }

          }

      }

      其核心就是实现读取数据库的时间。

    2. 转化成DataTable

    3. public static DataTable ConvertDataReaderToDataTable(OracleDataReader reader)
              {
                  try
                  {
                      DataTable objDataTable = new DataTable();
                      int intFieldCount = reader.FieldCount;
                      for (int intCounter = 0; intCounter < intFieldCount; ++intCounter)
                      {
                          objDataTable.Columns.Add(reader.GetName(intCounter), reader.GetFieldType(intCounter));
                      }


                      objDataTable.BeginLoadData();


                      object[] objValues = new object[intFieldCount];
                      while (reader.Read())
                      {
                          reader.GetValues(objValues);
                          objDataTable.LoadDataRow(objValues, true);
                      }
                      reader.Close();
                      objDataTable.EndLoadData();


                      return objDataTable;


                  }
                  catch (Exception ex)
                  {
                      throw new Exception("转换出错!", ex);
                  }


              }


0 0
原创粉丝点击