2010-10-23 8 views
0

J'ai les entrées correctes dans le fichier web.config dans mon projet asp.net. Comment puis-je m'assurer que la connexion a été établie avec succès? Je veux tirer une image de ma base de données, puis l'afficher sur ma page aspx. Quelques choses à noter: Je suis en utilisant Visual Studio 2010, SQL Server 2008, .NET 4.0connexion à la base de données asp.net

Merci

Voici la partie pertinente de mon fichier web.config

<databases>

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

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

Je n'ai pas encore de fichier app.config dans mon projet. Étonnamment, il n'y a pas de section dans mon web.config. Dois-je en ajouter un explicitement?

+0

Je ne comprends pas la question. Si vous pouvez vous connecter à la base de données, la connexion a été établie. Rencontrez-vous un problème spécifique? –

+0

Non. Je veux juste savoir que simplement en ajoutant le fichier connectionstring/UID/password/databaseName au fichier web.config ouvre une connexion dans asp.net? ou dois-je écrire explicitement un code C# pour l'établir? – zack

Répondre

1

Les paramètres de connexion entrées dans le fichier web.config ne sont que des paramètres. Aucune connexion réelle n'est faite. En fait, plusieurs paramètres de connexion peuvent être définis dans le fichier web.config et la connexion réelle peut être établie au moment de l'exécution.

Pour réellement faire une connexion arriver, vous devez définir

Par exemple, voici le SQLDataSource est configuré pour se connecter à 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> 

ou dans ce second exemple, où ils créent explicitement une SqlConnection. La chaîne de connexion ici proviendrait du 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(); 
     } 
    } 
} 

Voici un exemple d'une chaîne de connexion se trouve dans votre 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

merci pour cette réponse détaillée! – zack

+0

Je suis confronté à une erreur si j'essaie d'implémenter la connexion dans le balisage: Voici ma ligne web.config: ' L'erreur est la suivante: Le nom de connexion "DescriptionColonne" n'a pas été trouvé dans la configuration des applications ou la chaîne de connexion est vide. – zack

+0

Où se trouve le fichier de configuration de l'application/Ce n'est pas dans mon répertoire de projet asp.net. – zack

Questions connexes