Store Your Database Connection String in Web.Config...

类别:.NET开发 点击:0 评论:0 推荐:

By: John Kilgo Date: November 28, 2002 Download the code. Printer Friendly Version


Here we present an example of how to store a database connection string in the application's Web.Config file. Web.Config is a part of every asp.net application and provides a nice, central location for storing information that may be needed in many of your web pages. This first bit of code is just an .aspx file. The code for accessing the connection string is located in the associated .vb code-behind file shown immediately after the .aspx code.
<%
' Program: ConnString.aspx
' By: John Kilgo
' Date: November 28, 2002
' CodeBehind: ConnString.aspx.vb
' Purpose: Demonstrates using Web.Config to hold a connection string
' and reading that string from a program
%>

<%@ Page Inherits="ConnString" Src="ConnString.aspx.vb" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>ConnString</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<BODY MS_POSITIONING="GridLayout">
<form id="Form1" runat="server">
<asp:DataGrid id="dataGrid"
              AutoGenerateColumns="False"
              runat="server">
  <Columns>
    <asp:BoundColumn HeaderText="Company Name" DataField="CompanyName" />
    <asp:BoundColumn HeaderText="Contact Name" DataField="ContactName" />
    <asp:BoundColumn HeaderText="Contact Title" DataField="ContactTitle" />
  </Columns>
</asp:DataGrid>
</form>
</BODY>
</HTML>
Next is the code-behind page which accesses the Web.Config file to obtain the database connection string. Notice that we must Import the namespace System.Configuration in order to access the Web.Config file.

Web.Config (shown after the .vb code) contains a key-value pair which specifies a key of "ConnectionString" with a value which is the connection string. We set a string variable ("strConnection") equal to ConfigurationSettings.AppSettings("ConnectionString"). We have now captured the connection string for use in our program.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Public Class ConnString : Inherits Page

  Protected dataGrid As DataGrid

  Protected Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
    Dim sqlConn As SqlConnection
    Dim sqlCmd As SqlCommand
    Dim strConnection As String

    Try
      'Get connection string from Web.Config
      strConnection = ConfigurationSettings.AppSettings("ConnectionString")

      sqlConn = New SqlConnection(strConnection)
      sqlCmd = New SqlCommand("SELECT * FROM Customers WHERE " _
              & "(CompanyName LIKE 'A%') OR (CompanyName LIKE 'B%')", sqlConn)
      sqlConn.Open()
      dataGrid.DataSource = sqlCmd.ExecuteReader()
      dataGrid.DataBind()
    Catch ex As Exception
      Response.Write(ex.ToString & "<br>")
    Finally
      sqlConn.Close()
    End Try
  End Sub

End Class
The Web.Config file is shown below. What we have added to enable storing of the connection string is shown in red.
<?xml version="1.0" encoding="utf-8" ?>
<!-- Web.Config Configuration File -->
<configuration>
  <appSettings>
    <add key="ConnectionString"
      value="server=localhost;database=Northwind;uid=sa;password=secret;" />
  </appSettings>

  <system.web>
    <customErrors mode="Off"/>
  </system.web>
</configuration>
Conclusion: In this article you have seen how to store a database connection string in Web.Config and to access the connection string from a web page. You may run this program by clicking here. You may download the code by clicking Here.

本文地址:http://com.8s8s.com/it/it43744.htm