Load data Oracle Table to C# combobox using Oledb

被刻印的时光 ゝ 提交于 2019-12-24 18:31:47

问题


hello i have create a table buy_unit in oracle database

CREATE TABLE buy_unit( unit_id NUMBER(10) not null PRIMARY KEY, unit_name VARCHAR2(10) not null );

and insert Values

INSERT INTO BUY_UNIT values(001,'Liter'); desc SELL_BUY_UNIT;

then create a combo box combobox1 in C# now can load buy_unit table data in combobox ? i have use the connection:

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


回答1:


Well, you can see below code which is refering SQLConnection. You can change as per your DB may be OracleConnection or so. While using SQL, we have pass connection string with UID and PWD.

For Oracle have connection string as

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;

}

and try to use using block when you open DB connection as below

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

Code for Oracle. Excuse for syntax.

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);
            }
        }


来源:https://stackoverflow.com/questions/45028694/load-data-oracle-table-to-c-sharp-combobox-using-oledb

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!