我正在尝试从表dgvEmployees检索记录到我的数据gridview tblEmployees中。我不确定是怎么回事,也许是因为语法?但是该代码在使用MS Visual C#2010 Express(仅WinForms)之前有效。我目前正在使用MS Visual Studio(ASP.NET-C#)用winforms创建网页。这是我的代码:

    SqlConnection sConn;
    SqlDataAdapter daEmp;
    DataSet dsEmp;

    const string sStr = "Server = MYSERVER\\SQLEXPRESS; Database = EMPLOYEES; Integrated Security = SSPI";

    protected void Page_Load(object sender, EventArgs e)
    {
        sConn = new SqlConnection(sStr);
        daEmp = new SqlDataAdapter("Select * from tblEmployees", sConn);
        dsEmp = new DataSet();

        daEmp.Fill(dsEmp, "tblEmployees");

        dsEmp.Tables["tblEmployees"].PrimaryKey = new DataColumn[] { dsEmp.Tables["tblEmployees"].Columns["EmployeeID"] };

        dgvEmployees.DataSource = dsEmp.Tables["tblEmployees"];

    }

这是此行(daEmp.Fill(dsEmp, "tblEmployees");上的错误消息
Invalid object name 'tblEmployees'

请帮忙。谢谢!

最佳答案

错误是指SQL查询而不是DataSet。换句话说,问题不在C#上。您需要检查您的连接字符串,并确保该表存在于数据库中。
daEmp = new SqlDataAdapter("Select * from tblEmployees", sConn);
该查询是错误的:Select * from tblEmployees
您可以通过将查询更改为:Select * from IDONTEXIST来验证这一点。

您将看到类似的错误:

10-01 00:44