C# 從Oracle資料庫獲取資料並在combobox進行顯示
阿新 • • 發佈:2019-01-23
折騰了半天,其實比較簡單,程式碼如下,其中需要先新增引用
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();
}