【问题标题】:Load data Oracle Table to C# combobox using Oledb使用 Oledb 将数据 Oracle 表加载到 C# 组合框
【发布时间】:2017-12-15 04:05:47
【问题描述】:

你好,我已经在 oracle 数据库中创建了一个表 buy_unit

创建表 buy_unit( unit_id NUMBER(10) 不为空主键, unit_name VARCHAR2(10) 不为空 );

并插入值

插入 BUY_UNIT 值(001,'升'); desc SELL_BUY_UNIT;

然后在C#中创建一个组合框combobox1现在可以在组合框中加载buy_unit表数据了吗?我已经使用了连接:

OleDbConnection con = new OleDbConnection("Provider=MSDAORA;Data Source=XE;User ID=user1;password=pssword");

【问题讨论】:

  • 您为什么要使用 Oledb(仅适用于 MS Access)为什么不使用 OracleClient。在此处分享您的 C# 代码。您如何获取数据,如何在内存中存储和绑定等。
  • @Prathyush ,亲爱的我是初学者,现在开始学习。我只需要在组合框中加载数据。

标签: c# sql oracle11g combobox oledbconnection


【解决方案1】:

好吧,您可以看到下面引用 SQLConnection 的代码。您可以根据您的数据库进行更改,可能是 OracleConnection 左右。在使用 SQL 时,我们传递了带有 UID 和 PWD 的连接字符串。

对于甲骨文 连接字符串为

string con = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 000.00.0.00)(PORT = 0000)))(CONNECT_DATA =(SERVICE_NAME = database)));User ID=User/Schema;Password=password;Unicode=True";

public void BindComboBox()
{
    SqlConnection con = new SqlConnection(@"server=ServerName; database = DBName ;  User Id=sa; Password=PeaTeaCee5#");
    con.Open();
    string strCmd = "select desire column from table";
    SqlCommand cmd = new SqlCommand(strCmd, con);
    SqlDataAdapter da = new SqlDataAdapter(strCmd, con);
    DataSet ds = new DataSet();
    da.Fill(ds);
    cmd.ExecuteNonQuery();
    con.Close();

    cbSupportID.DisplayMember = "name to display";
    cbSupportID.ValueMember = "id";       
    cbSupportID.DataSource = ds;

    cbSupportID.Enabled = true;

}

并在打开数据库连接时尝试使用 using 块,如下所示

using (OracleConnection objConn = new OracleConnection(con))
 {
   \\ you code
   \\ do your stuff
 }

Oracle 代码。语法的借口。

public  void  Fillcombo()
        {
            string oradb = " Data Source=xe;User Id=dbname;Password=pws; ";
            string query = "select id , name from table";
            OracleConnection condatabase = new OracleConnection(oradb);
            OracleCommand cmddatabase = new OracleCommand(query, condatabase);

            try
            {
                condatabase.Open();
                OracleDataReader myReader = cmddatabase.ExecuteReader(); ;
                myReader = cmddatabase.ExecuteReader();
                while (myReader.Read())
                {
                    string sname = myReader.GetInt32(0).ToString();
                    comboBox1.Items.Add(sname.ToString());
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

【讨论】:

  • 谢谢你的代码,我会试试的,如果可能的话,我需要oracle的代码。
  • 抱歉无法执行成功,请需要oracle代码
  • 我厌倦了 Oracle 数据库的 C# 组合框的任何新代码?谢谢
猜你喜欢
  • 2014-12-06
  • 1970-01-01
  • 2023-03-30
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多