数据库组件 Hxj.Data (二十五)(数据库连接配置

本节补充讲述connectionStrings的设置。

组件读取connectionStrings节点的配置的时候会根据providerName来判断是哪个数据库。

数据库 providerName
Sql server 2000 1、System.Data.SqlClient
2、Hxj.Data.SqlServer
Sql server 2005 Hxj.Data.SqlServer9
MS Access Hxj.Data.MsAccess
Sqlite 1、System.Data.SQLite
2、Hxj.Data.Sqlite
Oracle 1、System.Data.OracleClient
2、Hxj.Data.Oracle

本次更新版本到了V1.5,修正了几个BUG,以及对Oracle支持的改善。

本文配套源码

时间: 2024-10-26 16:41:24

数据库组件 Hxj.Data (二十五)(数据库连接配置的相关文章

数据库组件 Hxj.Data (十五) (查询的排序、分组)

本节将讲述查询的排序(order by) 和 分组(group by). 先说排序 在分页中如果没有指定排序,组件会默认一个排序来实现分页. 例如 DbSession.Default.From<Products>() .Page(10, 2) .Where(Products._.CategoryID.SelectIn(1, 2, 3)) .ToList(); 生成的sql如下: Text: SELECT * FROM ( SELECT TOP 10 * FROM ( SELECT TOP 20

数据库组件 Hxj.Data (十九) (事务二)

对事务有进行了更新,又得去下载一下新版本,对上一版本兼容,扩充了DbTrans方法. 相比十七节(事务)中的事务写法简洁了一些.如下 using (DbTrans trans = DbSession.Default.BeginTransaction()) { trans.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == 1); trans.Update<Products&

数据库组件 Hxj.Data (十二) (模糊查询、简单的in,not in查询)

条件的生成都是通过对表中字段进行的. 比如: Products._.UnitPrice > 1 Products._.CategoryID == 2 这些是简单的比较. 下面来介绍通过like 模糊查询该怎么做. 先上代码, Products._.ProductName.Contain("apple") 这句等效sql就是(sqlserver) productname like '%apple%' 就是完全模糊搜索. Products._.ProductName.BeginWit

数据库组件 Hxj.Data (十六) (查询的字段)

在查询没有设置查询字段,组件默认是返回所有字段信息,即select * from table 那在查询中如何设置需要返回的字段信息呢? 在之前几节中的例子已经存在设置查询字段,是通过 select方法来设置的. 先上例子: DbSession.Default.From<Products>() .Select(Products._.ProductID, Products._.ProductName) .ToDataTable(); 这里是设置查询只返回productid和productname两

数据库组件 Hxj.Data (十) (输出组件执行的sql)

前面有TX留言问分页的sql是怎么样的,看完这篇你也就知道了. 组件可以输出执行的sql,方便查看sql生成的语句是否有问题. 通过注册事件来输出sql DbSession.Default.RegisterSqlLogger(database_OnLog); private string sql; void database_OnLog(string logMsg) { //保存执行的DbCommand (sql语句和参数) sql += "<br />" + logMsg

数据库组件 Hxj.Data (十八) (批处理)

批处理就是提交的脚本不是马上执行,而是到一定数量才提交. 还是先上例子 using (DbBatch batch = DbSession.Default.BeginBatchConnection()) { batch.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == 1); batch.Update<Products>(Products._.ProductName,

数据库组件 Hxj.Data (十四) (联合查询)

联合查询在前面的例子中已经出现过,只不过没有细说. 先来个例子吧 DbSession.Default.From<Customers>() .InnerJoin<Orders>(Customers._.CustomerID == Orders._.CustomerID) .ToDataTable(); 生成的sql Text: SELECT * FROM [Customers] INNER JOIN [Orders] ON ([Customers].[CustomerID] = [O

数据库组件 Hxj.Data (二十八)

数据库组件 Hxj.Data (二十八)(事务中的查询,查询字段字中的子查询,WhereClip的隐式转换) 本节讲述新版本中新加的功能,以及如何使用. 事务中的查询 应用场景,有时我们需要事务更新.添加.删除表的操作,在提交事务又需要对这些进行查询(不想 降低事务级别让其他连接查询事务中的数据变动),在事务内部进行的查询. 其实只是在DbTrans中增加了FromSection方法. 示例代码如下: using (DbTrans trans = DbSession.Default.BeginT

数据库组件 Hxj.Data (二十四)(Sqlite数据库)

Hxj.Data(V1.3)组件增加了对Sqlite数据库的支持. 以及实体生成工具也同时发布(V1.3)版本支持Sqlite数据库的实体生成. 使用Sqlite数据库开发,需要引用Hxj.Data.Hxj.Data.Sqlite.System.Data.SQLite这三个DLL. config配置数据库连接例如: <add name="SqliteConnectionString" connectionString="Data Source=C:\sqldb.db&q