连接到SQL Server数据库

时间:2013-06-07 14:55:16

标签: c# asp.net sql sql-server database-connection

我最近开始使用C#编程asp.net(使用VS2008),我编写了第一个连接数据库的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本身添加了一个新的数据库元素(Website - &gt; Add New Item)。我在该数据库中添加了一些字段,并且还配置了一个GridView来显示正在运行的数据库。但问题是,当我想将Gridview连接到之前在SQL SM Studio中创建的数据库时,它不起作用 - 在配置它赢得的连接时; t让我们选择数据库文件,说:

  

您无权打开此文件。联系所有者或管理员以获得许可。

在我看来,原因可能是微不足道的,但我无法理清。

请注意,所有数据库文件都是在光盘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中创建数据库一样吗? / p>

非常感谢您的帮助和建议! asp.net兴奋的初学者: - )

2 个答案:

答案 0 :(得分:1)

您在服务器上连接数据库时遇到的问题是

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已经过时了

答案 1 :(得分:-1)

我认为这会有所帮助

SqlConnection dbConnection = new SqlConnection("Data
  Source=.\\SQLEXPRESS;Integrated   Security=true; initial
  catalog=database name; uid=servername ; password=yourpassword");