当前位置:编程学习 > C#/ASP.NET >>

关于c#连接oracle 请大家帮忙啊,谢谢啊!

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Data.OracleClient;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“dataSet1.TABSALORDER”中。您可以根据需要移动或移除它。
            this.tABSALORDERTableAdapter.Fill(this.dataSet1.TABSALORDER);

        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string constring = "data source=hq100;user=hq2005;password=hq2005;";
            OracleConnection conn = new OracleConnection(constring);
            try
            {
                conn.Open();//打开指定的连接  
                OracleCommand com = conn.CreateCommand();
                com.CommandText = "select * from tabsalorder";
                OracleDataReader odr = com.ExecuteReader();
                while (odr.Read())
                {
                    this.lbl.Text = odr.GetOracleString(0).ToString();//
                }
                odr.Close();//
            }
            catch
            {
                MessageBox.Show("erro");//如果发生异常,则提示出错  
            }
            finally
            {
                conn.Close();//关闭打开的连接 
            }
        }
    }
}
//  while (odr.Read())
                {
                    this.lbl.Text = odr.GetOracleString(0).ToString();//请问这句话什么意思啊?
                }
                odr.Close();//

//小弟学c#与oracle 连接,但是看不懂如何把数据传递DataGridView,显示出来。请各位大家帮忙,小弟该如何尽快的学习C# 连接oracle,或者是专有的c#连接oracle的资料,非常感激。
--------------------编程问答-------------------- 仅供参考
http://blog.sina.com.cn/s/blog_4dba646b0100b8he.html
http://www.cnblogs.com/whldqpi/archive/2009/10/14/1582995.html --------------------编程问答--------------------

 <connectionStrings>
   <add name="connStr" connectionString="Data Source=long;User ID=stud;Password=stud;"/>
  </connectionStrings>>  

DBHelper.cs文件
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
namespace OraHelper
{
    public class DBHelper
    {
        public static OracleCommand cmd = null;
        public static OracleConnection conn = null;
        public static string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
        public DBHelper()
        {}
        #region 建立数据库连接对象
        /// <summary>
        /// 建立数据库连接
        /// </summary>
        /// <returns>返回一个数据库的连接OracleConnection对象</returns>
        public static OracleConnection init()
        {
            try
            {
                conn = new OracleConnection(connstr);
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            return conn;
        }
        #endregion

        #region 设置OracleCommand对象
          /// <summary>
        /// 设置OracleCommand对象       
        /// </summary>
        /// <param name="cmd">OracleCommand对象 </param>
        /// <param name="cmdText">命令文本</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">参数集合</param>
        private static void SetCommand(OracleCommand cmd,string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            cmd.CommandType = cmdType;
            if (cmdParms != null)
            {
                cmd.Parameters.AddRange(cmdParms);
            }
        }
        #endregion

        #region 执行相应的sql语句,返回相应的DataSet对象
         /// <summary>
        /// 执行相应的sql语句,返回相应的DataSet对象
        /// </summary>
        /// <param name="sqlstr">sql语句</param>
        /// <returns>返回相应的DataSet对象</returns>
        public static DataSet GetDataSet(string sqlstr)
        {
            DataSet set = new DataSet();
            try
            {
                init();
                OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);
                adp.Fill(set);
                conn.Close(); 
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            return set;
        }
        #endregion

        #region 执行相应的sql语句,返回相应的DataSet对象
         /// <summary>
        /// 执行相应的sql语句,返回相应的DataSet对象
       /// </summary>
        /// <param name="sqlstr">sql语句</param>
       /// <param name="tableName">表名</param>
        /// <returns>返回相应的DataSet对象</returns>
        public static DataSet GetDataSet(string sqlstr,string tableName)
        {
            DataSet set = new DataSet();
            try
            {
                init();
                OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);
                adp.Fill(set,tableName);
                conn.Close();                
            }
            catch (Exception e)
            {
                throw new Exception(e.Message.ToString());
            }
            return set;
        }
        #endregion

        #region 执行不带参数sql语句,返回所影响的行数
        /// <summary>
        /// 执行不带参数sql语句,返回所影响的行数
        /// </summary>
        /// <param name="cmdstr">增,删,改sql语句</param>
        /// <returns>返回所影响的行数</returns>
        public static int ExecuteNonQuery(string cmdText)
        {
            int count;
            try
            {
                init();
                cmd = new OracleCommand(cmdText, conn);
                count = cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return count;
        }
        #endregion

        #region 执行带参数sql语句或存储过程,返回所影响的行数
        /// <summary>
        ///  执行带参数sql语句或存储过程,返回所影响的行数
        /// </summary>
        /// <param name="cmdText">带参数的sql语句和存储过程名</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">参数集合</param>
        /// <returns>返回所影响的行数</returns>
        public static int ExecuteNonQuery(string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            int count;
            try
            {
                init();
                cmd = new OracleCommand();
                SetCommand(cmd, cmdText, cmdType, cmdParms);
                count = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return count;
        }
        #endregion

        #region 执行不带参数sql语句,返回一个从数据源读取数据的OracleDataReader对象
        /// <summary>
        /// 执行不带参数sql语句,返回一个从数据源读取数据的OracleDataReader对象
        /// </summary>
        /// <param name="cmdstr">相应的sql语句</param>
        /// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>
        public static OracleDataReader ExecuteReader(string cmdText)
        {
            OracleDataReader reader;
            try
            {
                init();
                cmd = new OracleCommand(cmdText, conn);                
                reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return reader;
        }
        #endregion

        #region 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象
        /// <summary>
        /// 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象
        /// </summary>
        /// <param name="cmdText">sql语句或存储过程名</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">参数集合</param>
        /// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>
        public static OracleDataReader ExecuteReader(string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            OracleDataReader reader;
            try
            {
                init();
                cmd = new OracleCommand();
                SetCommand(cmd, cmdText, cmdType, cmdParms);
                reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return reader;
        }
        #endregion

        #region 执行不带参数sql语句,返回结果集首行首列的值object
        /// <summary>
        /// 执行不带参数sql语句,返回结果集首行首列的值object
        /// </summary>
        /// <param name="cmdstr">相应的sql语句</param>
        /// <returns>返回结果集首行首列的值object</returns>
        public static object ExecuteScalar(string cmdText)
        {
            object obj;
            try
            {
                init();
                cmd = new OracleCommand(cmdText, conn);
                obj = cmd.ExecuteScalar();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return obj;
        }
        #endregion

        #region 执行带参数sql语句或存储过程,返回结果集首行首列的值object
        /// <summary>
        /// 执行带参数sql语句或存储过程,返回结果集首行首列的值object
        /// </summary>
        /// <param name="cmdText">sql语句或存储过程名</param>
        /// <param name="cmdType">命令类型</param>
        /// <param name="cmdParms">返回结果集首行首列的值object</param>
        /// <returns></returns>
        public static object ExecuteScalar(string cmdText, CommandType cmdType, OracleParameter[] cmdParms)
        {
            object obj;
            try
            {
                init();
                cmd = new OracleCommand();
                SetCommand(cmd, cmdText, cmdType, cmdParms);
                obj = cmd.ExecuteScalar();
                conn.Close();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.ToString());
            }
            return obj;
        }
        #endregion
    }
}



居然连发3个帖子,,,,

还好回复的快,,不然被删了。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,