电子商务系统的开发必然要操作数据库,本文主要介绍 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>配置. |
|