选择显示字体大小

一个数据库操作类的实例(二.provider类)

using system;
namespace com.joybase.db
{
/// <summary>
/// 数据库连接提供类
/// </summary>
public class provider
{
//一个静态的连接接口;
private static system.data.idbconnection conn;
/// <summary>
/// 构造方法,设为私有类型,是防止外部无效的引用;
/// </summary>
protected provider()
{
//
// todo: add constructor logic here
//
system.data.idbcommand x=new system.data.oledb.oledbcommand();

}
// /// <summary>
// /// 数据库连接类型,即判断是system.data.sqlclient类型或者是system.data.oledb类型的。
// /// </summary>
// private static dbtype databasetype
// {
// get
// {
// //从配置文件当中读取数据库类型字符串
// string m_dbtype=system.configuration.configurationsettings.appsettings["database.type"];
// //如果未设置默认为system.data.sqlclient类型的连接
// if(m_dbtype==null)
// {
// return dbtype.sqlclient;
// }
// else
// {
// //如果为空或者为mssqlserver2000,则使用system.data.sqlclient类型的连接
// if(m_dbtype.trim()==""m_dbtype.trim().toupper()=="mssqlserver2000"m_dbtype.trim().toupper()=="mssqlserver7")
// {
// return dbtype.sqlclient;
// }
// //其它则返回system.data.oledb类型的连接
// else
// {
// if(m_dbtype.trim().toupper()=="oledb")
// {
// return dbtype.oledb;
// }
// }
//
// }
// return dbtype.oledb;
//
// }
//
//
// }
/// <summary>
/// 重载getconn(string)方法,此时连接字符串的标签名将为“database.connectionstring”
/// <seealso cref="getconn(string) "/>
/// </summary>
/// <returns>返回一个连接</returns>
public static system.data.idbconnection getconn()
{
return provider.getconn("");
}
/// <summary>
/// 获得数据库连接接口
/// </summary>
/// <param name="p_connstringsetname">一个在config文件中设置连接字符串的标签名</param>
/// <returns></returns>
public static system.data.idbconnection getconn(string p_connstringsetname)
{

// if(conn==null)
// {
string connstr="";
if(p_connstringsetname.trim()=="")
{
connstr=system.configuration.configurationsettings.appsettings["database.connectionstring"];
}
else
{
connstr=system.configuration.configurationsettings.appsettings[p_connstringsetname];
}
if(connstr==nullconnstr=="")
{
throw new exception("not find connection string!");
}
dbtype m_dbtype;//=provider.databasetype;
/*
* 注释:我们对前面的编码进行了部分的修改,鉴于system.data.sqlclient的连接
* 字符串当中不可能出现"provider"字样,所以我们根据是否有provider字样来判断
* 该连接是基于system.data.sqlclient的或者system.data.oledb的。
* 参考资料:
* 可以将 connectionstring 属性设置为单个单元。(不能为 sqlconnection 对象指定 provider 属性。)
* –或–
*
* 可以设置单个属性(datasource、database、username 等等)。如果设置单个属性,则将为您生成连接字符串。
* 注意 在连接字符串中存储用户名和密码有安全性设置的意味。有关详细信息,请参阅introduction to ado.net connection design tools。
*
*/
if(connstr.tolower().indexof("provider")==-1) m_dbtype=dbtype.sqlclient;
else m_dbtype=dbtype.oledb;
try
{
if(m_dbtype==dbtype.sqlclient)
{
conn=new system.data.sqlclient.sqlconnection(connstr);
}
else
{
conn=new system.data.oledb.oledbconnection(connstr);
}
}
catch
{
throw new exception("error to connect db!");
}
// }
//if(conn.state!=system.data.connectionstate.closed) conn.close();
return conn;

}

}
/// <summary>
/// 枚举类型,即一个数据库连接类型的枚举
/// </summary>
enum dbtype
{
sqlclient=0,
oledb=1
}
}

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons