ScriptjQuery类是使用参数模式封装了SQL脚本语句类,让开发人员可以以面向对象的方式编写SQL脚本
命名空间:DevNet.DBAccess
配置文件:
折叠展开XML/HTML Code复制内容到剪贴板
- <appSettings>
-
- <add key="WriteScriptSQL" value=""/>
-
-
- <add key="IsSql2000" value="false"/>
- </appSettings>
构造函数:
折叠展开C# Code复制内容到剪贴板
-
-
-
-
- public ScriptQuery(string tableName)
-
-
-
-
-
-
- public ScriptQuery(DBConnect dbCon, string tableName)
-
-
-
-
- public ScriptQuery()
从构造函数可以看出,数据底层的核心操作类为
DBConnect类
类中的SQL脚本的关键字都使用常量方式声明,以减少字符串的内存占用,提供运行性能;
使用示例:
1.
获取列表List<Users>(Users为实体)
调用方法为:
C# Code复制内容到剪贴板
- //ScriptQuery实例,并传入表名;
- ScriptQuery script=new ScriptQuery(Users.Users_TableName);
-
- //获取用户名like “net”的用户列表
- List<Users> lists = script.Select().ALL().From().Where().Like(Users.UserName_FieldName,"net").GetList<Users>();
通过以上语句即可获取用户集合列表;
2.
获取DataTable
调用方法:
C# Code复制内容到剪贴板
-
- ScriptQuery script=new ScriptQuery(Users.Users_TableName);
-
-
- DataTable dt = script.Select().ALL().From().Where().Like(Users.UserName_FieldName,"net").GetDataTable();
通过以上语句即可获取用户集合的内存表;
3.
获取分页列表
调用方法:
C# Code复制内容到剪贴板
- //创建实例
- ScriptQuery script = new ScriptQuery(Users.Users_TableName);
- //设置执行脚本
- script.Select().ALL().From().Where().Like(Users.UserName_FieldName,"net");
-
- //设置pageIndex,pageIndex>0
- script.PageIndex =pageIndex;
- //设置pageSize,PageSize>0
- script.PageSize = pageSize;
-
- //这里返回了分页的用户集合列表
- List<Users> lists = script.GetList<Users>();
- //设置总记录数
- int recordCount = Script.RecordCount;
通过以上语句即可实现分页信息的执行操作
4.
自定义语句执行
调用方法:
C# Code复制内容到剪贴板
-
- ScriptQuery script=new ScriptQuery();
-
-
- script.Value="Select * from Users where UserName like N'%+@UserName+%'";
-
- script.AddCmdParameters("@UserName","net");
- List<Users> lists = Script.GetList<Users>();
通过以上语句即可实现自定义语句的执行操作;
5.
操作存储过程
调用方法:
C# Code复制内容到剪贴板
- ScriptQuery script = new ScriptQuery();
-
- script.Value = "存储过程名称";
-
- //设置Script命令类型为存储过程
- script.CmdType = CommandType.StoredProcedure;
-
-
- System.Data.IDbDataParameter[] ps = DevNet.DBAccess.DBProcedureParams.GetSpParameter("存储过程名称");
- /*
- *设置参数ps的值
- *ps[0].Value=......
- *ps[1].Value=......
- *.......
- *在DataManger说明中会讲到如何批量设置存储过程参数的值
- */
- //设置Script命令执行参数
- script.SetCmdParameters(ps);
- List<Users> lists= script.GetList<Users>();
通过以上语句即可实现调用存储过程执行操作