2010-10-23 5 views
0

У меня есть правильные записи в файле web.config в моем проекте asp.net. Как я могу убедиться, что соединение установлено успешно? Я хочу вытащить изображение из моей базы данных, а затем отобразить его на моей странице aspx. Некоторые вещи, чтобы отметить: Я использую Visual Studio 2010, SQL Server 2008, .NET 4.0asp.net database connection

Благодарности

Вот соответствующая часть моего файла web.config

<databases>

<add key="MyConnection" name="MyName" value="server=servername\SQL2008;uid=myuid;pwd=mypwd;database=databaseName;"/ >

`<add key="DataAccessClass" value="DataAccessSql"/`> 
`</databases`> 

У меня нет файла app.config в моем проекте. Удивительно, что в моем web.config нет раздела. Нужно ли добавить его явно?

+0

Я не понимаю вопроса. Если вы можете подключиться к базе данных, соединение будет установлено. Вы сталкиваетесь с конкретной проблемой? –

+0

Нет. Я просто хочу знать, что просто добавление connectionstring/UID/password/databaseName в файл web.config открывает соединение в asp.net? или мне нужно явно написать код C#, чтобы установить его? – zack

ответ

1

Параметры соединения, вводимые в файле web.config просто параметры. Никаких фактических соединений не производится. Фактически, в файле web.config можно выполнить несколько параметров подключения, и фактическое соединение может быть выполнено во время выполнения.

Чтобы действительно сделать соединение произойдет, вам нужно определить

Например, здесь SqlDataSource установлен для подключения к ConnectionStrings.MyNorthwind

<html xmlns="http://www.w3.org/1999/xhtml" > 
    <head runat="server"> 
    <title>ASP.NET Example</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:SqlDataSource 
      id="SqlDataSource1" 
      runat="server" 
      DataSourceMode="DataReader" 
      ConnectionString="<%$ ConnectionStrings:MyNorthwind%>" 
      SelectCommand="SELECT LastName FROM Employees"> 
     </asp:SqlDataSource> 

     <asp:ListBox 
      id="ListBox1" 
      runat="server" 
      DataTextField="LastName" 
      DataSourceID="SqlDataSource1"> 
     </asp:ListBox> 

    </form> 
    </body> 
</html> 

или в этом втором примере, где они явно создают SqlConnection. Строка соединения здесь будет взята из web.config.

private static void ReadOrderData(string connectionString) 
{ 
    string queryString = 
     "SELECT OrderID, CustomerID FROM dbo.Orders;"; 
    using (SqlConnection connection = new SqlConnection(
       connectionString)) 
    { 
     SqlCommand command = new SqlCommand(
      queryString, connection); 
     connection.Open(); 
     SqlDataReader reader = command.ExecuteReader(); 
     try 
     { 
      while (reader.Read()) 
      { 
       Console.WriteLine(String.Format("{0}, {1}", 
        reader[0], reader[1])); 
      } 
     } 
     finally 
     { 
      // Always call Close when done reading. 
      reader.Close(); 
     } 
    } 
} 

Вот пример строки подключения можно найти в вашем web.config

<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" 
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
</configuration> 
+0

спасибо за подробный ответ! – zack

+0

Я столкнулся с ошибкой, если попытаюсь реализовать соединение в разметке: Heres my web.config line: ' Ошибка: имя подключения «DescriptionColumn» не было найдено в конфигурации приложений или строка подключения пуста. – zack

+0

Где находится файл конфигурации приложения/Его нет в моем каталоге проектов asp.net. – zack