欢迎投稿

今日深度:

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

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


常见问题:

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的各种错误让人烦恼不已,各种错误,幸好有百度,可以查询错在哪里,所以不要害怕困难,多总结.       





www.htsjk.Com true http://www.htsjk.com/shujukunews/8681.html NewsArticle .net连接oracle数据库---Shinepans,oracle---shinepans 常见问题: 1.缺少引用 解决办法 ,添加引用: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.OracleClient;u...
评论暂时关闭