在asp中有多种方法保存数据库连接串,asp+提供了另一种新方式:config.web。quickstart中的许多demo都是直接将连接串写在程序中。这对于demo用途是没有问题,但在实际使用中是不行的。
本文示范如何使用config.web来存储连接串。在每页asp.net中你只需用
调出来就可以直接使用了。这样做的好处一是安全,二是方便,改密码时只需改一个地方即可。
废话少说,这里就是code:(放在该application的根目录下)
Config.web
<configuration>
<appsettings>
<add key="MyConn" value="server=localhost;uid=sa;pwd=mypassword;Database=somedatabase"/>
</appsettings>
</configuration>
Somepage.aspx
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<script language="VB" runat="server">
Sub Page_Load(Src As Object, E As EventArgs)
'This is the meat of calling the DSN out of the config.web
'Setting a local variable to hold the connection string variable
Dim MyConnection As SQLConnection
Dim Config as HashTable
'Setting a local variable to hold the connection string
Config = Context.GetConfig("appsettings")
MyConnection = New SQLConnection(Config("MyConn"))
'Setting a command object to insert some data into a database
Dim MyCommand As SQLCommand
dim parm1 as string = "SomeTextValue"
dim parm2 as string = "SomeTextValue2"
Dim InsertCmd As String = "Insert into tablename values (@parm1, @parm2)"
'Using the connection string
MyCommand = New SQLCommand(InsertCmd, MyConnection)
MyCommand.Parameters.Add(New SQLParameter("@Parm1", SQLDataType.VarChar, 50))
MyCommand.Parameters("@Parm1").Value = Parm1
MyCommand.Parameters.Add(New SQLParameter("@Parm2", SQLDataType.VarChar, 50))
MyCommand.Parameters("@Parm2").Value = Parm2
MyCommand.ActiveConnection.Open()
MyCommand.Execute()
MyCommand.ActiveConnection.Close()
End Sub
</script>
|