电子商务系统的开发必然要操作数据库,本文主要介绍 asp.net与数据库的连接字符串。另外,为了在实际运用中方便使用连接字符串,可将连接字符串配置在web.config里面。先介绍对mssql数据库的操作.在web.config具体配置如下:
数据库在远程主机上:
<appSettings>//操作mssql数据库
<add key="DBconnectionString" value="server=remote server;user id=DBuser'name;password=DBpassword;database=your db'name;"/>
</appSettings>
该配置放在<configuration>节里面,其中remote server为远程主机的名称,如果不在同一个域,即为远程主机的ip,数据库放置在该server中,database为数据库的名称。
如果是本地数据库,将value值修改为:
value="data source=localhost;user id=DBuer'name;password=DBpassword;Initial Catalog=your db'name;"
不论是本地数据库还是远程数据库,都可以设置连接超时的时间,以减轻数据库资源的浪费,在value中添加connecte timeout=time
接下来就是连接了,先要取得字符串:
string strconn=ConfigurationSettings.AppSettings["DBconnectionString"];
采用sqlconnection 对象:
SQLConnection sqlcon=new SQLConnection("strconn");
SQLCommand sqlcmd=new SQLCommand("string of operation to table in the DB",sqlcon);
sqlcon.open()
OLEDBConnection对象与SQLConnection对象的操作基本一致,在此不在赘述.
我们都知道,一般应用程序是不能读到web.config文件的,但是用户可以通过其他的途径读取到web.config,这样我们的数据库就不安全了.我们可以制作一个连接数据库的接口,然后封装成dll,该接口只允许传递T-SQL语句,而不是将连接字符串放在web.config里面.可参考如下:
public SQLCommand sql(string sqlstr){
string strconn="server=remote server;user id=DBuer'name;password=DBpassword;database=your db'name";
SQLConnection sqlcon=new SQLConnection("strconn");
SQLCommand sqlcmd=new SQLCommand(sqlstr,sqlcon);
try{
sqlcon.open();
}
catch(Exception exp){
Console.write(exp.toString());
}
finally{
return sqlcmd;
}
}
将其封装起来就可以了.当然,上述并未判断sqlstr是否是T-SQL语句,建议用正则表达式进行判断。
对oracle数据库,在web.config中配置如下:
<appSettings> //操作oracle数据库
<add key="DBconnectionString" value="Provider=OraOLEDB.Oracle.1;Password=DBpassword;User ID=DBuser'name;Data Source=your DB;" />
</appSettings>
如果数据库在远程主机上,则本机上只需要安装oracle数据库的客户端,然后配置好客户端就可以了.web.config里面的<appSettings>节配置基本不变,与oracle数据库在本机上一样,无须修改<appSettings>配置.