数据库组件 Hxj.Data(七) (sql篇)
2010-05-15 02:37
260 查看
上一节讲述的是删除操作,本节将讲述如何直接执行sql语句。
直接执行sql语句是使用FromSql方法。
这样看起来亲切多了吧,直接sql就可以执行。
当然也可添加参数的啊。
这样的查询条件是productid=1返回一条记录。
这里sql语句中pid要确保唯一,不然都会被替换成参数的。
比如:select * from products where productid=productid 这样在sqlserver下就会被替换成select * from products where @productid=@productid
这里只是做了简单的替换,所以确保申明的参数唯一性。
当多个参数时可如下写法:
这样写似乎太麻烦了,更简洁的写法如下:
这样就清爽多了。
返回类型还可以如下:
返回DataReader
返回DataSet
返回单个值
返回执行类型的值
也可返回实体。
TEntity ToFirst<TEntity>()
返回第一条实体
sql语句的执行也是简单明了的。
下一节将讲述存储过程的执行。
直接执行sql语句是使用FromSql方法。
DbSession.Default.FromSql("select * from products").ToDataTable();
这样看起来亲切多了吧,直接sql就可以执行。
当然也可添加参数的啊。
DbSession.Default.FromSql("select * from products where productid=pid").AddInParameter("pid", DbType.Int32, 1).ToDataTable();
这样的查询条件是productid=1返回一条记录。
这里sql语句中pid要确保唯一,不然都会被替换成参数的。
比如:select * from products where productid=productid 这样在sqlserver下就会被替换成select * from products where @productid=@productid
这里只是做了简单的替换,所以确保申明的参数唯一性。
当多个参数时可如下写法:
DbParameter[] parameters = new DbParameter[2]; parameters[0] = DbSession.Default.Db.DbProviderFactory.CreateParameter(); parameters[0].DbType = DbType.Int32; parameters[0].ParameterName = "pid"; parameters[0].Value = 1; parameters[1] = DbSession.Default.Db.DbProviderFactory.CreateParameter(); parameters[1].DbType = DbType.Int32; parameters[1].ParameterName = "cid"; parameters[1].Value = 2; DbSession.Default.FromSql("select * from products where productid=pid or categoryid=cid") .AddParameter(parameters) .ToDataTable();
这样写似乎太麻烦了,更简洁的写法如下:
DbSession.Default.FromSql("select * from products where productid=pid or categoryid=cid") .AddInParameter("pid", DbType.Int32, 1) .AddInParameter("cid", DbType.Int32, 2) .ToDataTable();
这样就清爽多了。
返回类型还可以如下:
IDataReader ToDataReader()
返回DataReader
DataSet ToDataSet()
返回DataSet
int ExecuteNonQuery()
返回受影响的条数
object ToScalar()
返回单个值
TResult ToScalar<TResult>()
返回执行类型的值
也可返回实体。
TEntity ToFirst<TEntity>()
返回第一条实体
List<TEntity> ToList<TEntity>()
返回实体列表
sql语句的执行也是简单明了的。
下一节将讲述存储过程的执行。
相关文章推荐
- 数据库组件 Hxj.Data(七) (sql篇)
- 数据库组件 Hxj.Data (二十六)(Oracle 配置)
- 数据库组件 Hxj.Data (十七) (事务)
- 数据库组件 Hxj.Data (一)(介绍篇)
- 数据库组件 Hxj.Data (三)(查询操作篇)
- 数据库组件 Hxj.Data (四)(添加操作篇)
- 数据库组件 Hxj.Data (九) (DbSession的其他介绍)
- 数据库组件 Hxj.Data (十三) (子查询)
- 数据库组件 Hxj.Data (十五) (查询的排序、分组)
- 数据库组件 Hxj.Data (二十五)(数据库连接配置 - connectionStrings节点)
- 数据库组件 Hxj.Data (二十三) (自定义缓存)
- 数据库组件 Hxj.Data (四)(添加操作篇)
- 数据库组件 Hxj.Data (二十三) (自定义缓存)
- 数据库组件 Hxj.Data (十六) (查询的字段)
- 数据库组件 Hxj.Data (二十) (分页)
- 数据库组件 Hxj.Data (二十九)(DbSession的推荐写法)
- 数据库组件 Hxj.Data (五)(更新操作篇)
- 数据库组件 Hxj.Data (十二) (模糊查询、简单的in,not in查询)
- 数据库组件 Hxj.Data (二)(实体生成工具)
- 数据库组件 Hxj.Data (一)(介绍篇)