sqlhelper 与 DbHelper与 Enterprise Library 都是什么?之间有什么关系?有什么区别?适合什么场所

xyzvalue 2009-04-05 07:26:08
如题:希望用过它们的朋友说说。
...全文
1086 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
changwei0708 2011-11-19
  • 打赏
  • 举报
回复
在用DBHelper
jiafulc 2009-05-11
  • 打赏
  • 举报
回复
sqlhelp 和dbhelp有点类似,Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。
这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。
悔说话的哑巴 2009-04-06
  • 打赏
  • 举报
回复
简单点说:一个是模型另一个是仿照模型做出来的东西
xyzvalue 2009-04-06
  • 打赏
  • 举报
回复
今天好冷清哦,哎等明天了
octverve 2009-04-06
  • 打赏
  • 举报
回复
Sqlhelper是petshop是出现的,后来有许多人仿出来什么Dbhelper等,微软的企业库中也有Sqlhelper的身影。在开发中要看是什么重量级的,如果是个人或小企业Sqlh或dbHelper就行了
zzxap 2009-04-06
  • 打赏
  • 举报
回复
企业库中就用sqlhelp啊?而dbhelper是一些人仿sqlHelp自己写的,哪有专门的dbhelper??
一堆迷乎。你查查Data Access Application Block就知道我说的是不是真的了
sqlhelper SQL数据库操作类,SqlHelper 类提供了一组静态方法,可以用来向 SQL Server 数据库发出许多各种不同类型的命令。
DbHelper 数据库操作类,DbHelper支持基本上所有的.NET下的Data Provider,而不只是SQL Server, Oracle与DB2
Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。
这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。
phoebuswei 2009-04-06
  • 打赏
  • 举报
回复
一般的应用sqlHelper就可以了
Enterprise Librar轻易不要动
你要是就用一个什么数据库操作
把一个Enterprise Library引入近来就得不偿失了!
sqlHelper可以自行扩展,
目的是:好用够用,而不时要用什么
冷月孤峰 2009-04-06
  • 打赏
  • 举报
回复
SqlHelper、DbHelper、Enterprise Library 三者之间没有什么联系,
只不过是MS在不同时期出来的东西,一个比一个功能强大而已。
liuyeede 2009-04-06
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xyzvalue 的回复:]
晕倒,楼上的朋友,我不是要数据操作类,我有自己的。
我发这个贴子主要的目地是:想知道SqlHelper,DbHelper,微软企业库有什么关系。所果有的人说是从微软企业库中脱离出来的Sqlhelper和Dbhelper。有的人说是三个不同的东西,之间没有关系,汗,到底谁说的准哦?
[/Quote]
我也晕啊,不管是sqlhelper还是DbHelper,都是操作数据库的辅助工具,都是使用ADO.Net提供的接口实现对数据库的操作,sqlHelper从狭义上理解,就是对SQL SERVER数据库操作的一个辅助工具,而DBHelper是通过.net提供的对数据库操作的工厂模式实现的能操作几乎所有的数据库的辅助工具。微软企业库是一个内容更加丰富的辅助套件,他包括对数据库操作、安全性、缓存依赖等功能的打包。
freewind0521 2009-04-06
  • 打赏
  • 举报
回复
我也想知道,顶
xyzvalue 2009-04-06
  • 打赏
  • 举报
回复
顶起,难道就没个明白人了?
xyzvalue 2009-04-05
  • 打赏
  • 举报
回复
晕倒,楼上的朋友,我不是要数据操作类,我有自己的。
我发这个贴子主要的目地是:想知道SqlHelper,DbHelper,微软企业库有什么关系。所果有的人说是从微软企业库中脱离出来的Sqlhelper和Dbhelper。有的人说是三个不同的东西,之间没有关系,汗,到底谁说的准哦?
liuyeede 2009-04-05
  • 打赏
  • 举报
回复

public class Trans : IDisposable
{
private DbConnection conn;
private DbTransaction dbTrans;
public DbConnection DbConnection
{
get { return this.conn; }
}
public DbTransaction DbTrans
{
get { return this.dbTrans; }
}

public Trans()
{
conn = DbHelper.CreateConnection();
conn.Open();
dbTrans = conn.BeginTransaction();
}
public Trans(string connectionString)
{
conn = DbHelper.CreateConnection(connectionString);
conn.Open();
dbTrans = conn.BeginTransaction();
}
public void Commit()
{
dbTrans.Commit();
this.Colse();
}

public void RollBack()
{
dbTrans.Rollback();
this.Colse();
}

public void Dispose()
{
this.Colse();
}

public void Colse()
{
if (conn.State == System.Data.ConnectionState.Open)
{
conn.Close();
}
}

}
liuyeede 2009-04-05
  • 打赏
  • 举报
回复
给你一个DbHelper,是别人写的,我用的时候,总是根据需求自己在做一些修改。

class DbHelper
{
private static string dbProviderName = ConfigurationSettings.AppSettings["DbProviderName"];
//private static string dbp = "Provider=System.Data.OleDb";
private static string dbConnectionString = ConfigurationManager.AppSettings["TaxInvoiceConn"];

private DbConnection connection;
public DbHelper()
{
this.connection = CreateConnection(DbHelper.dbConnectionString);
}

public DbHelper(string connectionString)
{
this.connection = CreateConnection(connectionString);
}

public static DbConnection CreateConnection()
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbConnection dbconn = dbfactory.CreateConnection();
dbconn.ConnectionString = DbHelper.dbConnectionString;
return dbconn;
}
public static DbConnection CreateConnection(string connectionString)
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbConnection dbconn = dbfactory.CreateConnection();
dbconn.ConnectionString = connectionString;
return dbconn;
}

public DbCommand GetStoredProcCommond(string storedProcedure)
{
DbCommand dbCommand = connection.CreateCommand();
dbCommand.CommandText = storedProcedure;
dbCommand.CommandType = CommandType.StoredProcedure;
return dbCommand;
}
public DbCommand GetSqlStringCommond(string sqlQuery)
{
DbCommand dbCommand = connection.CreateCommand();
dbCommand.CommandText = sqlQuery;
dbCommand.CommandType = CommandType.Text;
return dbCommand;
}
#region 增加参数
public void AddParameterCollection(DbCommand cmd, DbParameterCollection dbParameterCollection)
{
foreach (DbParameter dbParameter in dbParameterCollection)
{
cmd.Parameters.Add(dbParameter);
}
}
public void AddOutParameter(DbCommand cmd, string parameterName, DbType dbType, int size)
{
DbParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Size = size;
dbParameter.Direction = ParameterDirection.Output;
cmd.Parameters.Add(dbParameter);
}
public void AddInParameter(DbCommand cmd, string parameterName, DbType dbType, object value)
{
DbParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Value = value;
dbParameter.Direction = ParameterDirection.Input;
cmd.Parameters.Add(dbParameter);
}
public void AddReturnParameter(DbCommand cmd, string parameterName, DbType dbType)
{
DbParameter dbParameter = cmd.CreateParameter();
dbParameter.DbType = dbType;
dbParameter.ParameterName = parameterName;
dbParameter.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(dbParameter);
}
public DbParameter GetParameter(DbCommand cmd, string parameterName)
{
return cmd.Parameters[parameterName];
}

#endregion
#region 执行
public DataSet ExecuteDataSet(DbCommand cmd)
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataSet ds = new DataSet();
dbDataAdapter.Fill(ds);
return ds;
}

public DataTable ExecuteDataTable(DbCommand cmd)
{
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataTable dataTable = new DataTable();
dbDataAdapter.Fill(dataTable);
return dataTable;
}

public DbDataReader ExecuteReader(DbCommand cmd)
{
cmd.Connection.Open();
DbDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
public int ExecuteNonQuery(DbCommand cmd)
{
cmd.Connection.Open();
int ret = cmd.ExecuteNonQuery();
cmd.Connection.Close();
return ret;
}

public object ExecuteScalar(DbCommand cmd)
{
cmd.Connection.Open();
object ret = cmd.ExecuteScalar();
cmd.Connection.Close();
return ret;
}
#endregion
#region 执行事务
public DataSet ExecuteDataSet(DbCommand cmd, Trans t)
{
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataSet ds = new DataSet();
dbDataAdapter.Fill(ds);
return ds;
}

public DataTable ExecuteDataTable(DbCommand cmd, Trans t)
{
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(DbHelper.dbProviderName);
DbDataAdapter dbDataAdapter = dbfactory.CreateDataAdapter();
dbDataAdapter.SelectCommand = cmd;
DataTable dataTable = new DataTable();
dbDataAdapter.Fill(dataTable);
return dataTable;
}

public DbDataReader ExecuteReader(DbCommand cmd, Trans t)
{
cmd.Connection.Close();
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
DbDataReader reader = cmd.ExecuteReader();
DataTable dt = new DataTable();
return reader;
}
public int ExecuteNonQuery(DbCommand cmd, Trans t)
{
cmd.Connection.Close();
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
int ret = cmd.ExecuteNonQuery();
return ret;
}

public object ExecuteScalar(DbCommand cmd, Trans t)
{
cmd.Connection.Close();
cmd.Connection = t.DbConnection;
cmd.Transaction = t.DbTrans;
object ret = cmd.ExecuteScalar();
return ret;
}
#endregion
}
xyzvalue 2009-04-05
  • 打赏
  • 举报
回复
晕了怎么回事啊
wanhot 2009-04-05
  • 打赏
  • 举报
回复
企业库中就用sqlhelp啊?而dbhelper是一些人仿sqlHelp自己写的,哪有专门的dbhelper??一堆迷乎。你查查Data Access Application Block就知道我说的是不是真的了,居然星星也不知道这些常识?
xyzvalue 2009-04-05
  • 打赏
  • 举报
回复
DbHelper它是哪个公司开发的?也是微软吗?在MSDN上没有DbHelper的任何文章???怎么回事哦?
wuyq11 2009-04-05
  • 打赏
  • 举报
回复
sqlhelper SQL数据库操作类,SqlHelper 类提供了一组静态方法,可以用来向 SQL Server 数据库发出许多各种不同类型的命令。
DbHelper 数据库操作类,DbHelper支持基本上所有的.NET下的Data Provider,而不只是SQL Server, Oracle与DB2
Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。这些应用通常部署广泛且与其他应用和系统相互依赖。另外,他们通常有严格的安全、可靠性和性能需求。
cqq 2009-04-05
  • 打赏
  • 举报
回复
没有用过dbhelper,
起初在做.net开发的时候,都用sqlhelper来做数据库操作,
它把一些常用的功能都封装好了。

后来,一般就用enterprise library了,不过企业库是一个大的框架,
它的data access应用程序块就是进行数据库操作的,
除此之外它还有好多别的应用程序块,比如日志、错误处理、缓存、加密解密等等,
企业库的最大特点就是可配置性,一般改改配置文件就可以了。
xyzvalue 2009-04-05
  • 打赏
  • 举报
回复
看名子,好象SqlHelper与DbHelper是有点关系哦?SqlHelper是针对Sql的DbHelper???Enterprise Library 微软企业库是专门应用于企业级开发的?它与SqlHelper与DbHelper又是怎么回事???

对此了解的高手给讲一下,谢谢了

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧