SQL DataTable中的C#填充组合框

mar*_*agz 1 c# sql

DataTable _dt = new DataTable();

using (SqlConnection _cs = new SqlConnection("Data Source=COMNAME; Initial Catalog=DATABASE; Integrated Security=True"))
{
    string _query = "SELECT * FROM Doctor";
    SqlCommand _cmd = new SqlCommand(_query, _cs);

    using (SqlDataAdapter _da = new SqlDataAdapter(_cmd))
    {
        _da.Fill(_dt);
    }
}
cbDoctor.DataSource = _dt;
foreach(DataRow _dr in _dt.Rows)
{
    cbDoctor.Items.Add(_dr["name"].ToString());
}
Run Code Online (Sandbox Code Playgroud)

有一个错误...

结果是System.Data.DataRowView代替数据库中的数据。

Luk*_*z M 5

我尚不确定您的代码中确切的错误是什么,但是如果您可以不使用DataTable,可以这样做:

using (SqlConnection sqlConnection = new SqlConnection("connstring"))
{
    SqlCommand sqlCmd = new SqlCommand("SELECT * FROM Doctor", sqlConnection);
    sqlConnection.Open();
    SqlDataReader sqlReader = sqlCmd.ExecuteReader();

    while (sqlReader.Read())
    {
        cbDoctor.Items.Add(sqlReader["name"].ToString());
    }

    sqlReader.Close();
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见MSDN上的SqlDataReader参考

为了在发布的原始代码中查找问题,请提供信息,说明在哪行发生了异常(或者是导致应用程序无法编译的错误?),它的全部内容是什么。