码迷,mamicode.com
首页 > 数据库 > 详细

.net连接oracle数据库---Shinepans

时间:2015-06-11 19:26:18      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:.net   oracle   

常见问题:

1.缺少引用   解决办法 ,添加引用:

   技术分享
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OracleClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Common;
using Oracle.DataAccess;

2.连接字符串:

 globals.connectionString = "Data Source="+this.databaseName.Text.Trim()+";uid="+this.username.Text.Trim()+";pwd="+this.password.Text.Trim()+";";
            globals.username = this.username.Text.Trim();
            globals.databaseName = this.databaseName.Text.Trim();

这是我的一贯风格,喜欢用globals类管理通用的字符串.方便管理,通过上面的代码就可以知道连接字符串了.


3.查询:


 技术分享

查询格式如上


运行结果:

1.登录:

技术分享

2.登录结果:

技术分享

3.显示主界面 (测试)

技术分享

4.查询数据库:



技术分享


至此,查询功能已完成



关键点:


1.查询语句中,不要带分号,会提示关键字错误

2.引用要添加好:

  using System.Data.Common;
  using Oracle.DataAccess;

3.连接字符串要写好:

"Data Source=shinepans;uid=system;pwd=123;unicode=True"

上面的改写成你的



代码片:

Program.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace Net3._5_oracleTest
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new LoginForm());
        }
    }
}


LoginForm.cs

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

namespace Net3._5_oracleTest
{
    public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            globals.connectionString = "Data Source="+this.databaseName.Text.Trim()+";uid="+this.username.Text.Trim()+";pwd="+this.password.Text.Trim()+";";
            globals.username = this.username.Text.Trim();
            globals.databaseName = this.databaseName.Text.Trim();
            OracleConnection conn = new OracleConnection(globals.connectionString);
            try
            {
                conn.Open();
                MessageBox.Show("已连接到Oracle数据库!");
                MainForm mf = new MainForm();
                this.Hide();
                mf.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }finally
            {
                conn.Close();
            }
        }
    }
}


MainForm.cs

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

namespace Net3._5_oracleTest
{
    public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            globals.connectionString = "Data Source="+this.databaseName.Text.Trim()+";uid="+this.username.Text.Trim()+";pwd="+this.password.Text.Trim()+";";
            globals.username = this.username.Text.Trim();
            globals.databaseName = this.databaseName.Text.Trim();
            OracleConnection conn = new OracleConnection(globals.connectionString);
            try
            {
                conn.Open();
                MessageBox.Show("已连接到Oracle数据库!");
                MainForm mf = new MainForm();
                this.Hide();
                mf.Show();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }finally
            {
                conn.Close();
            }
        }
    }
}

GridView_UserInfo.cs

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

namespace Net3._5_oracleTest
{
    public partial class GrideViews_UserInfo : Form
    {
        public GrideViews_UserInfo()
        {
            InitializeComponent();
        }

        private void GrideViews_UserInfo_Load(object sender, EventArgs e)
        {
            string sql1 = "SELECT * FROM infoofuser";
            OracleConnection myconn = new OracleConnection(globals.connectionString);
            OracleCommand mycmd = myconn.CreateCommand();
            mycmd.CommandText = sql1;
            myconn.Open();
            OracleDataAdapter oraDA = new OracleDataAdapter(mycmd);
            DataSet ds = new DataSet();
            oraDA.Fill(ds);
            myconn.Close();
            DataTable dtbl = ds.Tables[0];
            this.dataGridView1.DataSource = dtbl;
        }
    }
}


总结:

如果你的引用没有我说的两个,需要在项目里找引用,然后右键选择添加


这个是大家都知道的,oracle的各种错误让人烦恼不已,各种错误,幸好有百度,可以查询错在哪里,所以不要害怕困难,多总结.
      






.net连接oracle数据库---Shinepans

标签:.net   oracle   

原文地址:http://blog.csdn.net/shinepan/article/details/46460083

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!