我使用SQLSERVER,代码照书上写:
Dim cnn As OleDb.OleDbConnection
Dim cmd As OleDb.OleDbCommand
Dim da As OleDb.OleDbDataAdapter  
cnn.ConnectionString = "..."
cnn.Open()
cmd.Connection = cnn
cmd.CommandText = "SELECT name FROM department" 
da.SelectCommand = cmd     
Dim dt As New DataTable
da.Fill(dt)
DropDownList1.DataSource = dt.DefaultView
DropDownList1.DataBind()
结果DropDownList不是显示表里面的东西,只是一行行“System.Data.DataRowView”
怎么回事啊?我用的是SQLSERVER

解决方案 »

  1.   

    DropDownList1.DataSource = dt.DefaultView;DropDownList1.DataTextField = "name";
    DropDownList1.DataValueField = "name";DropDownList1.DataBind();
      

  2.   

    你必须还要设置DropDownList1.DataTextField 和DropDownList1.DataValueField属性第一个是在下拉框显示的文本。第二个是文本对应的值。。如果你数据库有两个字段一个是a,一个是b,那么你想让下拉框显示的是a字段。值是b字段,你就要设置DropDownList1.DataTextField = "a";
    DropDownList1.DataValueField = "b";数据库查询的语句
    cmd.CommandText = "SELECT a,b FROM department"
      

  3.   

    喔!行啦!hackate你救了我两次!多谢啦!