我最近开始用C# (使用VS2008)编程C#,并编写了第一个连接到数据库的web应用程序。第一个版本工作正常,但现在有一些问题,一旦我修改它。我举了下面的例子来描述情况:
1)工作正常。程序连接到数据库,并使用函数DeleteAllRecords()
对其执行操作;重要的是要注意,我创建了要在中连接的数据库。
单击事件处理程序按钮的页面后面的代码:
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)第二次没有使用Studio中的数据库,而是从Visual本身添加了一个新的数据库元素(网站->添加了新项)。我向该数据库添加了一些字段,并配置了一个GridView来显示正在工作的数据库。但是,问题是,当我想将Gridview连接到之前在SQL中创建的数据库时,它不起作用--当配置连接时,它将不允许选择数据库文件,并说:
你没有权限打开这个文件。与所有者或管理员联系以获得权限。
在我看来,原因似乎微不足道,但我无法理清。
请注意,所有这些数据库文件都是在磁盘C上的默认目标中创建的Studio。
3)无法将GridView连接到Server创建的数据库,我继续使用Visual本身添加的数据库。它与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创建的数据库)是否应该像在中创建数据库时一样,是Data Source=.\\SQLEXPRESS;
呢?
非常感谢您的帮助和建议!asp.net兴奋初学者:-)
发布于 2013-06-07 15:49:07
您在连接到服务器上的数据库时遇到的问题是
SqlConnection dbConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;Integrated Security=true");
最好的方法是转到您的Web.config文件,找到块并在其中添加一个连接到数据库。
例如
<add name="ConnectionString" connectionString="Data Source=YOUR SERVER;Initial Catalog=YOUR DATABASE;User ID=YOUR USER ID;Password=YOUR PASSWORD" />
然后,只要需要使用连接字符串,就可以访问整个项目。
也是关于VS2012的。目前使用该IDE的公司寥寥无几,所以在大多数情况下学习VS 2010可能会更好,但我同意VS2008现在已经过时了。
发布于 2014-12-24 06:34:58
我想这会有帮助的
SqlConnection dbConnection = new SqlConnection("Data
Source=.\\SQLEXPRESS;Integrated Security=true; initial
catalog=database name; uid=servername ; password=yourpassword");
https://stackoverflow.com/questions/16987099
复制相似问题