我最近开始使用 C#(使用 VS2008)编写 asp.net,并且编写了我的第一个连接到数据库的 Web 应用程序。第一个版本工作正常,但现在一旦我修改它就会出现一些问题。我将给出以下示例来描述这种情况:
1) 工作正常。程序连接到数据库并使用函数DeleteAllRecords()
对其执行操作;需要注意的是,我在 SQL Server Management Studio 中创建了要连接的数据库。
按钮单击事件处理程序的代码隐藏页面:
SqlConnection dbConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;Integrated Security=true");
try
{
dbConnection.Open();
dbConnection.ChangeDatabase("przemek8");
SqlCommand myCommand = new SqlCommand("DELETE FROM table8", dbConnection);
myCommand.ExecuteNonQuery();
}
catch (SqlException exception)
{
Response.Write("<p>Error code " + exception.Number + ": " + exception.Message + "</p>");
}
dbConnection.Close();
}
2)我第二次没有使用 SQL SM Studio 中制作的数据库,但我从 Visual Studio 本身添加了一个新的数据库元素(网站 -> 添加新项目)。我向该数据库添加了一些字段,并且还配置了一个 GridView 来显示正在运行的数据库。然而,问题是,当我想将 Gridview 连接到之前在 SQL SM Studio 中创建的数据库时,它不起作用 - 配置连接时它不会;让选择数据库文件,说:
您无权打开此文件。联系所有者或管理员以获得许可。
在我看来,原因可能微不足道,但我无法解决。
请注意,所有数据库文件都是在 C 盘上的默认目标位置创建的 SQL SM Studio。
3) 无法将 GridView 连接到 SQL Server 创建的数据库 我继续使用 Visual Studio 本身添加的数据库。它正在与 GridView 一起使用,因此我使用该函数与之交互(删除所有记录)-与第 1 点使用的相同)但现在使用数据库。
SqlConnection dbConnection = new SqlConnection("Data Source=.\\SQLEXPRESS; AttachDbFilename='D:\\WebSite1\\App_Data\\mydtb.mdf'; Integrated Security=true; User Instance=true");
try
{
dbConnection.Open();
dbConnection.ChangeDatabase("mydtb");
SqlCommand myCommand = new SqlCommand("DELETE FROM Table1", dbConnection);
myCommand.ExecuteNonQuery();
}
catch (SqlException exception)
{
Response.Write("<p>Error code " + exception.Number + ": " + exception.Message + "</p>");
}
dbConnection.Close();
它没有连接到那个,错误消息是:
错误代码 911:数据库“mydtb”不存在。确保输入的名称正确。
我是这个领域的新手,但是这种情况下的数据源(连接到在 Visual Studio 中创建的数据库)是否应该Data Source=.\\SQLEXPRESS;
与在 SQL Server Management Studio 中创建数据库时一样?
非常感谢您的任何帮助和建议!asp.net 兴奋的初学者:-)