【.NET】C#连接oracle实现登录及查询

C#中连接Oracle数据库的方法有: 微软的System.Data.OracleClient (可直接引用,已过时),Oracle的Oracle.DataAccess.Client (ODP.net;区分X86与X64) 和Oracle的Oracle.ManagedDataAccess.dll(最优)  【需要下载dll,在项目中引用】附下载地址:https://download.csdn.net/download/bianhua_c/10413236  
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace wdemo
{
    public partial class login : Form
    {
        public login()
        {
            InitializeComponent();
        }
            String name, pwd;
        private void button1_Click_1(object sender, EventArgs e)
        {
            //数据源
            string connString = " Provider = OraOLEDB.Oracle.1; Data Source = (DESCRIPTION = (CID = GTU_APP)(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA = (SID = ORCL)(SERVER = ORCL))); User Id = system;Password = sys";
            OleDbConnection conn = new OleDbConnection(connString);//实例化连接对象
            conn.Open();//打开连接
           
            OleDbCommand cmdd = conn.CreateCommand();
            cmdd.CommandText = "select * from userinfo where name = '" + this.TextName.Text + "' and pwd = '" + this.textPwd.Text + "'";
            OleDbDataReader oleRead = cmdd.ExecuteReader();//注意表在哪个用户下

            //测试连接oracle数据库
            //try{
            //    conn.Open();
            //    MessageBox.Show("连接成功");
            //}
            //catch (Exception ex){
            //    MessageBox.Show("失败了哦");
            //}
            //finally{
            //    conn.Close();
            //}

            try
            {
                while (oleRead.Read())
                {
                     name = oleRead["name"].ToString();
                     pwd = oleRead["pwd"].ToString();
                }
                if (this.TextName.Text.Trim() == name.Trim() && this.textPwd.Text.Trim() == pwd.Trim())
                {
                    MessageBox.Show("欢迎登录HIS医院信息系统! ", "SUCCESS");
                    Show sw = new Show();//跳转窗体
                    sw.Show();
                }
                else
                {
                    MessageBox.Show("您的用户名或密码不正确! ", "ERROR");
                }
            }
            catch{
                MessageBox.Show("数据库无法连接!");
            }finally{
                conn.Close();//关闭连接
            }
        }

        private void reset_Click(object sender, EventArgs e)
        {
            TextName.Text = "";
            textPwd.Text = "";
            TextName.Focus();
        }

    }   
}

新建Show窗体添加DataGridView控件,查询显示表中信息!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace wdemo
{
    public partial class Show : Form
    {
        public Show()
        {
            InitializeComponent();

            string connection = " Provider = OraOLEDB.Oracle.1; Data Source = (DESCRIPTION = (CID = GTU_APP)(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA = (SID = ORCL)(SERVER = ORCL))); User Id = system;Password = sys";//数据库的连接 数据源 用户 密码
            OleDbConnection coon = new OleDbConnection(connection);//建立数据库连接

            OleDbCommand cmd = new OleDbCommand("select * from userinfo",coon);//执行数据连接    如果想选某两个列可将*改为name,pwd 即 “select name,pwd from userinfo”

            DataSet ds1;
            ds1 = new DataSet();//定义数据集

            OleDbDataAdapter da1 = new OleDbDataAdapter(cmd);//取出数据表
            da1.Fill(ds1);//将数据加载到数据集中

            DataTable dt = ds1.Tables[0];//将数据放入表中

            coon.Close();//关闭数据库连接

            //遍历
            // //表为空则返回
            //下面的代码可对表进行操作 如果想直接显示可直接加上数据显示代码  下面的if  else代码就不用了
            if (dt == null)
            {
                return;
            }
            else
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {

                }
            }
            //数据显示 在dataGridView中显示
            this.dataGridView1.DataSource = dt.DefaultView;
            this.dataGridView1.Refresh();
        }
   
     }  
}

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于使用.NETC#连接ORACLE数据库,可以使用ODP.NETOracle Data Provider for .NET)。以下是连接ORACLE数据库的基本步骤: 1. 首先,确保您已经安装了ODP.NET驱动程序。可以从Oracle官方网站下载并安装ODP.NET。 2. 在您的C#项目中,添加对ODP.NET的引用。在Visual Studio中,右键单击项目,选择“添加”>“引用”,然后在“程序集”选项卡中找到和选择Oracle.DataAccess。 3. 在代码中,使用以下命名空间: ```csharp using Oracle.DataAccess.Client; ``` 4. 创建一个ORACLE数据库连接对象,并设置连接字符串: ```csharp string connectionString = "Data Source=your_oracle_server;User Id=your_username;Password=your_password;"; OracleConnection connection = new OracleConnection(connectionString); ``` 在上述连接字符串中,将"your_oracle_server"替换为ORACLE服务器的主机名或IP地址,"your_username"替换为数据库用户名,"your_password"替换为数据库密码。 5. 打开数据库连接: ```csharp connection.Open(); ``` 6. 创建一个ORACLE命令对象,并执行SQL查询或存储过程: ```csharp string sqlQuery = "SELECT * FROM your_table"; OracleCommand command = new OracleCommand(sqlQuery, connection); OracleDataReader reader = command.ExecuteReader(); while (reader.Read()) { // 处理每一行数据 // 例如:string value = reader.GetString(0); } reader.Close(); ``` 7. 最后,记得在使用完数据库连接后关闭连接: ```csharp connection.Close(); ``` 这样,您就可以使用ODP.NET连接ORACLE数据库,并执行相应的查询或存储过程。 希望对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值