首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于用 comboBox控件绑定数据库的有关问题

2012-01-12 
关于用 comboBox控件绑定数据库的问题如题, 本人用的C#2003连接SQL, 在comboBox上遇到了问题, 在网上搜索

关于用 comboBox控件绑定数据库的问题
如题, 本人用的C#2003连接SQL, 在comboBox上遇到了问题, 在网上搜索了半天未果, 所以只有向各热心人士求助了
以下为本人的代码:


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
  {
  if (comboBox1.Text.Trim() != "")
  {

  
  string connectionString = "Data Source=(local);Integrated Security=SSPI;" +
  "Initial Catalog = test"; //用的是WINDOWS登陆认证, Initial Catalog=后面的是要连接的数据库

  SqlConnection myConnection = new SqlConnection(connectionString);

  myConnection.Open();

  string mySql = "select AreaName from Area";
  SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(mySql, myConnection);  

  DataSet ds = new DataSet();
  mySqlDataAdapter.Fill(ds);
   
  comboBox1.DisplayMember = "AreaName"; //想显示的字段
  comboBox1.ValueMember = "AreaID"; //显示字段对应的值,主键
  comboBox1.DataSource = ds.Tables[0]; //数据集 
   
   
  }
  }

补充: 由于网上的例子大都是以ACCESS为对象的, 不知道ACCESS和SQL200的绑定方法是否有什么不同之处, 
所以以上的方法也是按照ACCESS的来写的, 但是运行虽然没有出错, 却在下拉后没有显示任何数据, 望热心人士指点

[解决办法]

探讨
private void Form1_Load(object sender, System.EventArgs e)
{
string sqlstr = "select dm,mc from table1";
sqlCon.Open();

SqlDataAdapter sqlda = new SqlDataAdapter(sqlstr,sqlCon);
SqlCommandBuilder sqlCmdb = new SqlCommandBuilder(sqlda);

DataSet ds2 = new DataSet();
sqlda.Fill(ds2);

sqlCon.Close();


comboBox1.DataSource = sqlda;
comboBox1.DisplayMember = …

[解决办法]
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 

if (comboBox1.Text.Trim() != "") 


  
string connectionString = "Data Source=(local);Integrated Security=SSPI;" + 
"Initial Catalog = test"; //用的是WINDOWS登陆认证, Initial Catalog=后面的是要连接的数据库 

SqlConnection myConnection = new SqlConnection(connectionString); 

// myConnection.Open();

string mySql = "select AreaName,AreaID from Area";
//查询二个字段
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(mySql, myConnection);

DataTable ds = new DataTable(); 
//把上面的dataset改成datadatle试看

mySqlDataAdapter.Fill(ds); 

comboBox1.DisplayMember = "AreaName"; //想显示的字段 
comboBox1.ValueMember = "AreaID"; //显示字段对应的值,主键 
comboBox1.DataSource = ds; //数据集
//直接改成表名 





你用这个方法试试看,如果要是在不行的话,你就调试一下,看表中有没有数据
如果没有数据就是你连接字符串有问题,这个方法我以前有也用


//这是8楼的

private void Form1_Load(object sender, System.EventArgs e) 

string sqlstr = "select dm,mc from table1"; 
//sqlCon.Open(); //sqldataadapter不用打开或关闭连接
SqlDataAdapter sqlda = new SqlDataAdapter(sqlstr,sqlCon); 


SqlCommandBuilder sqlCmdb = new SqlCommandBuilder(sqlda); 

DataSet ds2 = new DataSet(); 
sqlda.Fill(ds2); 

//sqlCon.Close();

comboBox1.DataSource = sqlda; //绑定时出错comboBox1.DisplayMember = "dmsm";
comboBox1.ValueMember = "dm";
}

热点排行