private void button8_Click(object sender, System.EventArgs e)
{
string ss;
string conStr="server=ks052;uid=hdh;pwd=huang;database=hdh";

SqlConnection con=new SqlConnection(); 

try
{
con.ConnectionString=conStr;
con.Open();
SqlCommand com=new SqlCommand();
com.CommandText ="select * from tabx";
com.Connection=con;
SqlDataReader dr=com.ExecuteReader();

if(dr!=null && dr.HasRows)
{
while(dr.Read())
{
ss="";
//ss=dr["dept_no"].ToString() +"\t"+dr["person_no"].ToString() +"\t"+dr["sex"].ToString()+"\t"+dr["salary"].ToString() ;
ss=dr["dept_no"].ToString() + (char)9 +dr["person_no"].ToString() + (char)9 +dr["sex"].ToString()+ (char)9 +dr["salary"].ToString() ;

listBox1.Items.Add(ss);
}
}
}
catch(System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
}
}

解决方案 »

  1.   

    楼上的是一个方法
    还可以重新写这个ListItem这个类,给他增加新的自己需要的属性
      

  2.   

    public class MyListItem : ListItem
    {
        private yourClass yc;
        public yourClass YC
        {
             get{return this.yc;}    }
        public MyListItem(string name,yourClass yc) : base(name)
        {
             this.yc = yc;
        }
    }
      

  3.   

    使用如下:ListBox.Items.Add(new MyListItem("Item1",yourClass0));
    ListBox.Items.Add(new MyListItem("Item1",yourClass1));
    ListBox.Items.Add(new MyListItem("Item1",yourClass2));
    调用的时候MyListItem myitem = (MyListItem)ListBox.Items[0];
    yourClass yc = myitem.YC;
      

  4.   

    首先定义一DataTable,有两个列,一个是ID,一个是Name。
    用DataReader从数据库绑定到DataTable。
    如果Sql语句为:select Id,Name from......
    row["ID"]=DataReader.GetString(0);
    row["Name"]=DataReader.GetString(1);
    在.aspx页面中将控件的两个Field分别绑定为"ID"和"Name"。
    这样在用的时候只需要获得ID,然后取得对象即可了。当然也可以用ArrayList,将对象都加入ArrayList,将对象的名字加入控件,用的时候从ArrayList中查寻出对象。
      

  5.   

    >> brightheroes(闭关|那一剑的风情)
    为什么我从ListItem继承系统报错呢?我是个C#初学者,请指教!
      

  6.   

    系统报告的错误是:
    无法从密封类System.Web.UI.WebControls.ListItem继承!
      

  7.   

    最简单的方法,把类的实例赋给listitem.tag
    需要时取出就可以了。
      

  8.   

    >>tashanzhishi(小胖) 
    具体怎么做呀?listbox1.Items[i]里没有tag字段呀?
    请指教!
    谢谢!
      

  9.   

    System.Web.UI.WebControls.ListItem

    System.Windows.Forms.ListItem
    是不同的
      

  10.   

    既然你是WebForm
    省省力气吧
    还是把ID绑定到DataMember属性上
    根据ID重新去获取吧
      

  11.   

    >> brightheroes(闭关|那一剑的风情)我用System.Windows.Forms.ListItem系统提示如下错误.我该怎么办,请指教.我用的不是WebForm;类型或命名空间名称“ListItem”在类或命名空间“System.Windows.Forms”中不存在(是否缺少程序集引用?)找不到类型或命名空间名称“ListItem”(是否缺少 using 指令或程序集引用?)我是C#储蓄额者,请指教,谢谢!
      

  12.   

    WebForm才有ListItem类,而且绑定对象用的是Value属性。
      

  13.   

    >> yaopeng117(充电) 
    具体是什么意思?如何做,谢谢指教!
      

  14.   

    也就是你每个Item的值为动态的,这个值可以从数据库中取出,一般为记录的ID号,没条记录里存放的就是你想要的对象(也就是数据吧)。
      

  15.   

    public class test
    {
        
      public string Name ;
      public string code ;}
      

  16.   

    >> yaopeng117(充电) 就用 tashanzhishi(小胖)这个类吧.public class test
    {
      public string Name ;
      public string code ;
    }
      

  17.   

    public class test
    {
        
      public string Name ;
      public string code ;
      public string Others;
      public override string ToString()
    {
    return Name ;
    }
    }test  tt = new test() ;
    tt.name = ...
    tt.code =..
    ..
    Listbox1.items.add(tt) ;
    这样就可以把一个类的实例绑到了ListBOx一项上,在程序运行期间显示test实例中ToString()方法的值。
    当你需要对这个类操作时,可以这样:
    test tmp = (test)Listbox1.items[0];
    tmp.name = ...

    ...=tmp.name
      

  18.   

    当然,上面的类也完全可以用结构体代替,你把关键字class换成struct就可以了,别的不用变。