Sql server 组合框显示System.Data.DataRow(MVC)

Sql server 组合框显示System.Data.DataRow(MVC),sql-server,asp.net-mvc,combobox,datatable,three-tier,Sql Server,Asp.net Mvc,Combobox,Datatable,Three Tier,我的组合框不显示SQL属性“TimeBlock”中的值,而是显示System.Data.DataRow 5次。我的代码有什么问题 代码: //DAL: public class DAL{ string ConnectionString = "server=ICSSQL13\\Grupp28,1528; Trusted_Connection=yes; database=Yoloswag"; public DataTable StoreSqlDataInComb

我的组合框不显示SQL属性“TimeBlock”中的值,而是显示System.Data.DataRow 5次。我的代码有什么问题

代码:

    //DAL:

    public class DAL{

    string ConnectionString = "server=ICSSQL13\\Grupp28,1528; Trusted_Connection=yes; database=Yoloswag";

    public DataTable StoreSqlDataInComboBoxTP()
            {

                SqlConnection Conn = new SqlConnection(ConnectionString);

                Conn.Open();

                string StoreSqlDataInComboBoxTP = "SELECT TimeBlock FROM TimePeriod GROUP BY TimeBlock";

                SqlCommand Cmd = new SqlCommand(StoreSqlDataInComboBoxTP, Conn);

                SqlDataAdapter Adapter = new SqlDataAdapter(Cmd);

                DataSet DSet = new DataSet();

                Adapter.Fill(DSet);

                Adapter.Dispose();
                Cmd.Dispose();
                Conn.Close();
                Conn.Close();

                return DSet.Tables[0];
            }
    }

    //Controller:

    public class Controller
    { 
    DAL Dal = new DAL();

    public DataTable storesqldataincomboboxtp()
        {
           return Dal.StoreSqlDataInComboBoxTP();
        }
    }

//View:
public partial class Booking : Form
    {
        Controller controller = new Controller();
        DataTable DTable = new DataTable();
        DataSet DSet = new DataSet();

        //Ignore string UserName
        public Booking(string UserName){
            DTable = controller.storesqldataincomboboxtp();

            if (DTable.Rows.Count > 0)
            {
                for (int i = 0; i < DTable.Rows.Count; i++)
                {
                    CBTime.Items.Add(DTable.Rows[i].ToString());
                }
            }
         }
     }
//DAL:
公共类DAL{
string ConnectionString=“server=ICSSQL13\\grupp281528;Trusted_Connection=yes;database=Yoloswag”;
公共数据表存储sqldataincomboxtp()
{
SqlConnection Conn=新的SqlConnection(ConnectionString);
Conn.Open();
string storesqldataincomboxtp=“按时间块从时间段组中选择时间块”;
SqlCommand Cmd=新的SqlCommand(storesqldataincomboxtp,Conn);
SqlDataAdapter=新的SqlDataAdapter(Cmd);
数据集DSet=新数据集();
适配器。填充(DSet);
Adapter.Dispose();
Cmd.Dispose();
康涅狄格州关闭();
康涅狄格州关闭();
返回数据集表[0];
}
}
//控制器:
公共类控制器
{ 
DAL=新的DAL();
公共数据表存储sqldataincomboxtp()
{
返回Dal.storesqldataincomboxtp();
}
}
//视图:
公共部分课程预订:表格
{
控制器=新控制器();
DataTable DTable=新的DataTable();
数据集DSet=新数据集();
//忽略字符串用户名
公共预订(字符串用户名){
DTable=controller.storesqldataincomboxtp();
如果(DTable.Rows.Count>0)
{
for(int i=0;i
我想显示存储在“TimeBlock”中的内容,而不是5 System.Data.DataRow。 “按时间段从时间段组中选择时间段”显示: "08-00 - 10:00" "10:00 - 12:00" "12:00 - 14:00" "14:00 - 16:00" “16:00-18:00”

我怎样才能解决这个问题


谢谢

在CBTime上调用Add()时,您没有进入字段级别。在您的条件检查中,这样做可以检查您的表是否有行:

foreach (DataRow dRow in DTable.Rows)
{
     CBTime.Items.Add(dRow["TimeBlock"]);
}