C# 从Oracle数据库获取数据并在combobox进行显示

折腾了半天,其实比较简单,代码如下,其中需要先添加引用
using System.Data.OracleClient;


        private void select()
         {
             string connString = "User Id=sh;Password=sh;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))";//本机数据库地址
             此处可以写在config文件中,便于修改:(<add key="conn" value="User Id=sh;Password=sh;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST =127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))"/>)
             OracleConnection conn = new OracleConnection(connString);
             conn.Open();
             //取出表中字段为PLACE的值,distinct过滤重复数据;
             string searchsql = "select distinct PLACE from TX_PERSON_CAR ";
             OracleCommand cmd = new OracleCommand(searchsql, conn);
             cmd.CommandType = CommandType.Text;
             //大容量数据,可以进行修改,使用DataSet和DataAdapter
             DataSet ds = new DataSet();
             OracleDataAdapter da = new OracleDataAdapter();
             da.SelectCommand = cmd;
             da.Fill(ds);
             DataTable dt = new DataTable();
             if (ds != null && ds.Tables.Count > 0)
                 dt = ds.Tables[0];
             int count = dt.Rows.Count;
             for (int i = 0; i < count; i++)
             {
                 string item = dt.Rows[i][0].ToString();//获取数据库中第i行第一列的值
                 camName.Items.Add(item);
             }
             camName.Items.Add("全部");
             this.camName.SelectedIndex = 0;
             this.camName.Text = "全部";
             conn.Close();
         }
以下是使用 C#Oracle 数据库连接 ComboBox 的步骤: 1. 导入 Oracle 数据库连接库。你可以在 NuGet 包管理器搜索 "Oracle.ManagedDataAccess" 并安装该包。 2. 在程序添加 ComboBox 控件。 3. 在代码创建 Oracle 数据库连接字符串。连接字符串应包含以下信息:数据库地址、用户名、密码和要连接的数据库名称。 示例连接字符串: ``` string connString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=your_host_name)(PORT=your_port_number)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=your_service_name)));User Id=your_user_id;Password=your_password;"; ``` 4. 创建一个 Oracle 数据库连接对象并打开连接。 ``` OracleConnection con = new OracleConnection(connString); con.Open(); ``` 5. 创建一个查询语句,该语句从数据库检索 ComboBox 显示数据。在本例,我们将从 "employees" 表检索员工的姓氏。 ``` string query = "SELECT last_name FROM employees"; ``` 6. 创建一个 OracleCommand 对象,并将查询语句和数据库连接对象作为参数传递给它。 ``` OracleCommand cmd = new OracleCommand(query, con); ``` 7. 创建一个 OracleDataReader 对象,并使用 ExecuteReader() 方法执行查询。 ``` OracleDataReader reader = cmd.ExecuteReader(); ``` 8. 将查询结果添加到 ComboBox 。 ``` while (reader.Read()) { comboBox1.Items.Add(reader[0]); } ``` 9. 最后,关闭数据库连接。 ``` con.Close(); ``` 完整的代码示例: ``` string connString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=your_host_name)(PORT=your_port_number)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=your_service_name)));User Id=your_user_id;Password=your_password;"; OracleConnection con = new OracleConnection(connString); con.Open(); string query = "SELECT last_name FROM employees"; OracleCommand cmd = new OracleCommand(query, con); OracleDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { comboBox1.Items.Add(reader[0]); } con.Close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值