标题:问高手们:combobox中数据库的绑定!
只看楼主
evehao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-16
结帖率:0
已结贴  问题点数:20 回复次数:14 
问高手们:combobox中数据库的绑定!
我的程序代码是下面这样的:
string connString = @"Data Source=.\sqlexpress;Initial Catalog=S_C_A;Integrated Security=True;Pooling=False";
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = conn.CreateCommand();
            string sql = "select * from class ";
             = sql;

            
            SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
            DataTable table = new DataTable();

            comboBox1.DataSource = table;
            adapter.Fill(table);
            comboBox1.DisplayMember = "classname";
            comboBox1.ValueMember = "ClassID";
出不来我想要的结果。请问我错在哪里!
搜索更多相关主题的帖子: combobox 绑定 数据库 
2009-11-16 16:20
evehao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-16
得分:0 
怎么没人关注啊。先谢谢了
2009-11-16 16:49
Dripel
Rank: 2
等 级:论坛游民
帖 子:26
专家分:28
注 册:2009-11-15
得分:2 
             comboBox1.DataSource = table;
            adapter.Fill(table);

你把这两句调换下位置试试。。

相思无用,唯别而已,别期若有定,千般煎熬又何如,莫道黯然销魂,何处柳暗花明。
2009-11-16 16:52
evehao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-16
得分:0 
我换过了,没有反应,不过还是要谢谢你。
2009-11-16 16:53
Dripel
Rank: 2
等 级:论坛游民
帖 子:26
专家分:28
注 册:2009-11-15
得分:0 
sorry 我数据库连不上 不能帮你调试
另外combox只能加载一个列,而不是一个表;我常用 SqlDataReader的Read()方法循环为combox赋值,这个方法行

相思无用,唯别而已,别期若有定,千般煎熬又何如,莫道黯然销魂,何处柳暗花明。
2009-11-16 17:29
evehao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-16
得分:0 
我改成这样也不行啊:
string connString = @"Data Source=.\sqlexpress;Initial Catalog=S_C_A;Integrated Security=True;Pooling=False";
            SqlConnection conn = new SqlConnection(connString);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            string sql = "select * from class where classname=c1";
             = sql;


            SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
            DataTable table = new DataTable("S_C_A");


            adapter.Fill(table);
            comboBox1.DataSource = table;
            comboBox1.DisplayMember = "classname";
            comboBox1.ValueMember = "ClassID";
2009-11-16 17:49
long50248120
Rank: 1
等 级:新手上路
帖 子:28
专家分:8
注 册:2009-11-16
得分:2 
你这种方法好像很麻烦,我经常用的是SqlDataReader 。具体用法如下:
string connString = @"Data Source=.\sqlexpress;Initial Catalog=S_C_A;Integrated Security=True;Pooling=False";  
SqlConnection conn = new SqlConnection(connString);
string sql = "select * from class ";
SqlCommand cm=new SqlCommand(sql,conn);
SqlDataReader dr=cm.ExecuteReader();
while(dr.Read)   //把数据逐个放到ComboBox1中,只有一组数据,不必创建DataTable
   {
       (dr[0].Tostring());
   }
dr.Close();  //关闭读取
cn.Close();  //关闭数据连接
如果你的问题还解决不了的话,试一下我这个
2009-11-16 18:00
evehao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-16
得分:0 
谢谢楼上的,它提示我无法将方法组Read转化为非委托型bool
2009-11-16 18:11
evehao
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-11-16
得分:0 
我改过来了,但是还是没有反应。
2009-11-16 18:20
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:2 
你试试Fill方法里面传入一个DataSet对象试试。
我前面看了看MSDN:
Fill(DataTable) ------在 DataSet 的指定范围中添加或刷新行,以与使用 DataTable 名称的数据源中的行匹配。

先试试吧。
2009-11-16 20:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-292490-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.373242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved