【发布时间】:2013-11-25 10:13:16
【问题描述】:
我正在尝试从表 tblEmployees 中将记录检索到我的数据网格视图 dgvEmployees。我不确定出了什么问题,也许是因为语法?但该代码在使用 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'
请帮忙。谢谢!
【问题讨论】:
-
运行代码的用户(例如为网站的应用程序池设置的身份)是否有权访问数据库?
-
不看数据库架构就无法回答。然而,这些是探索的可能性: 1) tblEmployees 是否存储在“dbo”以外的模式中? 2)如果将 SQL 复制到 SQL Management express(或任何正在运行的查询)中,您有什么问题吗? 3)您确定要连接到正确的数据库吗? 4) 数据库表不是复数形式吗?
-
正确的数据库,是的。当我尝试
INSERT INTO时,它会说同样的错误。但是我可以在打开表格时手动添加记录...
标签: c# sql sql-server tsql