Subsonic简单的语法整理
来源:互联网 发布:网络金庸群侠传 编辑:程序博客网 时间:2024/06/05 15:44
1.查询方面
(查询所有数据记录[dataset读取方法])
Myuser.Query().ExecuteDataSet().Tables[0];
Myuser.Query().ExecuteDataSet();
(返回关联查询[dataset读取方法])
Myuser.Query().ExecuteDataSet().Tables[0];
Myuser.Query().ExecuteDataSet()
(返回所有的查询记录[DataReader读取方法])
(返回所有的查询记录[dataReader读取方式])
IDataReader ida = Myuser.FetchAll();
(带有返回排序完毕的查询记录[dataReader读取方式])
IDataReader ida = Myuser.FetchAll(OrderBy.Desc("usersex"));
IDataReader ida = Myuser.FetchAll(OrderBy.Asc("usersex"));
(根据ID返回其查询的记录)
Myuser.FetchByID(3).Username.ToString();
(根据查询条件返回查询数据记录)
IDataReader ida=Myuser.FetchByParameter("username", "张山");
(查询所有数据记录[dataReader方式])
Query q = new Query("Myusers");
(查询所有的数据记录[dataReader方式])
Myuser u=new Myuser();
(可排序查询所有的数据记录[dataReader方式])
Myuser u=new Myuser();
(查询获取listitem列表[可以于填充下拉框])
(获取表的结构)
Myuser.Schema
--进行表的列的添加、删除、判断是否有主键、外键、等
(返回查询的对象)
Myuser.Query().ExecuteScalar();
(可利用sql语句查询)
(可以用字符串直接写表名或者视图名)
IDataReader rdr = newQuery("Products").WHERE("ProductID",2).ExecuteReader();
IDataReader rdr = newQuery("Products").BETWEEN_AND("DateExpires",DateTime.Now,DateTime.Now.AddDays(30).ExecuteReader();
(也可以用SubSonic定义好的结构来表示表名或视图名)
IDataReader rdr = newQuery(Tables.Products).AddWhere(Product.Columns.ProductID,2).ExecuteReader();
(查询出特定条数的结果可以用Top关键字,也可以查询指定的字段)
Query qry = new Query(Tables.Products);--指定表名
qry.Top = "10";--前n条查询
qry.SelectList =Product.Columns.ProductName+","+Product.Columns.UnitPrice;--获取指定的列名字段
qry.OrderBy =OrderBy.Desc(Product.Columns.UnitPrice);--进行指定列名排序
(支持分页查询)
Query qry = new Query(Tables.Products);--指定表名
qry.PageSize = 10;--当前页面显示的数据记录数
qry.PageIndex = 2;--指定的当前页面
(对于多个表的连接查询,建议使用视图实现,查询条件的复合,如用OR或者IN,可以这样查)
IDataReader rdr = newQuery("Products").WHERE("CategoryID=5").AND("UnitPrice>10").OR("CategoryID=1").And("UnitPrice>10").ExecuteReader();
(对于IN条件查询,提供了三种参数类型:ListItemCollection,ArrayList,objectarray)
//////////////////////////////////////arraylist方法
ArrayList list = new ArrayList();
for(int i =1;i<=5;i++)
IDataReader rdr = newQuery("products").IN("ProductID",list).ExecuteReader();
/////////////////////////////////////object[]
IDataReader rdr = new Query("products").IN("ProductID",newobject[]{1,2,3,4,5}).ExecuteReader();
/////////////////////////////////////listitemcollection
ListItemCollection coll = new ListItemCollection();
for (int i =1;i<=5;i++)
IDataReader rdr = newQuery("products").IN("ProductID",coll).ExecuteReader();
(执行纯SQL语句的查询方法)
/////////////////////////////////////////////
(获取当前的query的执行语句)
Myuser.Query().GetSql()
(sql语句拼接查询)
string sql = "";
Query q = new Query("vwProduct");
q.AddWhere("productID",productID);
sql = q.GetSql()+"\r\n";
q = new Query(Commerce.Common.Image.GetTableSchema());
q.AddWhere("productID",productID);
q.OrderBy = OrderBy.Asc("listOrder");
sql += q.GetSql()+"\r\n";
....
QueryCommand cmd = new QueryCommand(sql);
cmd.AddParameter("@productID",productID,DbType.Int32);
DataSet ds = DataService.GetDataSet(cmd);
(查询统计结果)
SubSonic.Where w = new SubSonic.Where();
w.ColumnName = "CategoryID";
w.ParameterValue = "1";
Query.GetCount("products","productID",w);
上面的where条件是可选的,也可以直接根据表名和列名统计,象上面的最后一句那样。除了GetCount()方法以外,还有GetAverage()、GetSum()等方法,用法类似。
(函数查询)
SubSonic.Where where = new Where();
Myuser.Query().GetCount("userid",where)--查询当前数的数据记录数相当于count(列名)+where条件
Myuser.Query().GetAverage("userid",where)--查询当前数据的平均值相当于avg(列名)+where条件
Myuser.Query().GetSum("userid",where)--查询当前数据总和相当于sum(列名)+where条件
Myuser.Query().GetMax("userid",where)--查询当前数据的最大值相当于max(列名)+where条件
Myuser.Query().GetMin("userid",where)--查询当前数据的最小值相当于min(列名)+where条件
-------where可加可不加
(多种查询条件约定查询)
GridView1.DataSource=Myuser.Query().WHERE("userid",Comparison.LessOrEquals, 3).ExecuteDataSet();
GridView1.DataSource=Myuser.Query().WHERE("列名", 约束条件,约束数值).ExecuteDataSet();
Comparison.LessOrEquals--小于或等于
Comparison.LessThan--小于
Comparison.BetweenAnd--等于
Comparison.Blank--填充为空白的
Comparison.OpenParentheses--打开括号【我认为是添加"("】
Comparison.CloseParentheses--关闭括号???【我认为是添加")"】
Comparison.Equals--字符串之间的对比相当于等于
Comparison.NotEquals--查询不相等的数据
Comparison.GreaterOrEquals--大于等于
Comparison.GreaterThan--大于
Comparison.In--在范围内取值
Comparison.Is--是否等于
Comparison.IsNot--在范围外取值
Comparison.Like--查询相似的数据
Comparison.NotLike--查询不相似的数据
(创建一个commd查询的连接对象)
Myuser.Query().BuildSelectCommand()相当于QueryCommand qcmd = newQueryCommand(Myuser.Query().GetSql());
(通过Query查询所有数据)
QueryCommand qcmd = Myuser.Query().BuildSelectCommand();
(去重复查询)
DISTINCT()
(查询指定值在表中的出现的次数)
(between and使用查询方法)
---------------------------------------------------------------------------------------------------------------------------------------------
2.添加方面
方法一:
方法二:
方法三:
int i = new Insert().Into(Myuser.Schema, "username","userpassword", "usersex").Values(TextBox1.Text, TextBox2.Text,TextBox3.Text).Execute();
//方法四
//方法五
//方法六
3.修改方面
//方法一
//方法二
//方法三
//方法四
//方法六
4.删除方面
//方法一
//方法二
//方法三
//方法四
//方法五
//方法六
---------------------------------------------------------------------------------------------------------------------------------------------
//执行存储过程
- Subsonic简单的语法整理
- Subsonic的使用之基本语法、操作
- dlang语法的简单整理
- markdown简单语法整理
- SubSonic的配置方法
- Subsonic的配置方法
- Subsonic的复杂查询
- subsonic
- Markdown简单常用语法整理
- SubSonic的配置方法浅谈
- SubSonic的配置及运用
- 用SubSonic连接Oracle数据库的配置
- 用SubSonic连接MySql数据库的配置
- SubSonic 开源的代码生成器
- guava的基本语法整理
- VBA的常见语法整理
- 作为C++小白为看懂算法题C++代码的简单语法整理
- Perl 的简单语法
- 分布式文件存储的数据库开源项目MongoDB
- Java多线程编程--(10)学习Java5.0 并发编程包--线程工具类
- zoj2388
- AndroidManifest详解
- string to char *
- Subsonic简单的语法整理
- {{jQuery源码分析}}jQuery对象初始化的多种传参数形式
- BI:Java调用Kettle执行任务或转换
- 数据库的连接——“OLEDB与ODBC”
- 如何使WORD自带公式编辑器按自动感应输入类型
- 回调函数与指针
- /r/n
- 浅谈 java 设计模式--策略模式(Strategy pattern)
- Ø集合操作