随笔分类 - C#基础
一个人能力的好坏
自已做的框架RJ 第八篇----------------数据库操作 总结篇
摘要:数据库操作 有很多函数 命名都是常用命名一看就懂如果要用框架中没有集成的函数可以像这样var sss = new SelectSqlSection<RJ.DModel.Department>(); sss.AddColumn(a => a.Sql("COUNT(*)").Alias("Size"));不过一般常用的都有集成支持常用的数据库mysql,sqlite,sqlserver,oracle,access<appSettings> <add key="RJ_DatabaseName" value
阅读全文
自已做的框架RJ 第八篇----------------存储过程
摘要:存储过程 操作是最最简单的先是用生成工具生成如下代码 也就是一个普通的类 命名空间PModelnamespace RJ.PModel{ public class UpdateDepartment { public int? D_Id { get; set; } public int? D_ParentId { get; set; } [Output] public DateTime RE { get; set; } [ReturnValue] public string RETURN { get; set; } }}当中Output 和ReturnValue相信一看就懂了 就是返回值 var
阅读全文
自已做的框架RJ 第八篇----------------函数
摘要:函数在SQL中算是比较常用的了 当中分为几种 最常用的自定义函数有两种 标量函数和表值函数标量函数先建个函数CREATE FUNCTION [dbo].[ScalarSUM]( @int int, @int2 int)RETURNS int ASbeginRETURN @int*@int2end然后用生成工具生成代码public class ScalarSUM:BaseEntity { public readonly static String TABLENAME = "dbo.ScalarSUM"; private static ScalarSUM ___singleto
阅读全文
自已做的框架RJ 第七篇----------------查询篇 下
摘要:查询的最后一篇排序 var z = new SelectSqlSection<RJ.DModel.Users>(); z.OrderBy(a => a.D_Id);SELECT * FROM [Users] ORDER BY [Users].[D_Id]var z = new SelectSqlSection<RJ.DModel.Users>(); z.OrderBy(a => new { a.D_Id ,a.U_Id.Desc});SELECT * FROM [Users] ORDER BY [Users].[D_Id],[Users].[U_Id] DE
阅读全文
自已做的框架RJ 第七篇----------------查询篇 中
摘要:虽然没人看不过还是继续写上一篇写的是直接传SQL语句的方法 在C#代码中看到SQL怎么都觉得不舒服好了现在看下C#的写法var z = new SelectSqlSection<RJ.DModel.Users>();z.AddColumn(a => new { s = (a.D_Id * 5), b = a.U_UserName }); db.ToIList<RJ.Model.Users>(z)生成的SQL语句如下SELECT ([Users].[D_Id] * @pj02gde4ln6dfwj) [s],[Users].[U_UserName] [b] FROM
阅读全文
RJ更新随笔 2011-06-24
摘要:更新日期2011-06-18更新了部份子查询BUG更新了分组分页时数量获取不正确更新了分页的SQL代码改为WITH更新日期2011-06-24完善了表别名 AS新加入了自定义函数 var s = RJ.DModel.Product.SelectSqlSectionFor; s.AddColumn<GetCategorizationByProductId>((a, b) => b.Function(a.ProductID));//GetCategorizationByProductId 标量值函数更新日期2011-06-29更新了多数据库支持目前的支持的数据库有mysql,sq
阅读全文
自已做的框架RJ 第七篇----------------查询篇 上
摘要:查询是操作做多的一个了当然方法也是最多的还是用代码来说话吧直接传SQL语句版IList<RJ.Model.Users> ss = db.ToIList<RJ.Model.Users>("select * from Users where U_Id>2");RJ.Model.Users user= db.Single("select top 1 * from Users where U_Id=2");IList<RJ.Model.Users> ss2 = db.ToIList<RJ.Model.Users&g
阅读全文
自已做的框架RJ 第六篇----------------异步篇
摘要:其实只是一个重载方法我没有用委托的那种异步我用的是线程到底哪种好点请高人指点 db.InsertAsync(new RJ.Model.Users() { D_Id = 2, U_PassWord = "异步", U_UserName = "还是异步" });RJ的所有异步代码都是在已有的db.Insert后面加一个Async可以以加事件或委托的方法得到值 (重载方法很多- - 想的到的想不到的都有) db.Inserted += new RJ.DataBase.DataBase.RJEventHandler(db_Inserted);db.InsertA
阅读全文
自已做的框架RJ 第五篇----------------事务篇
摘要:增删改差不多讲完了然后就来说说事务先说事务好了事务主要就是开 db.BeginTransaction()关db.EndTransaction()提交db.TransactionCommit()回滚db.TransactionRollback()这几个方法常见用法 try { db.BeginTransaction(); db.Delete(new RJ.Model.Users() { U_Id = 90 });//删一个 db.Insert(new RJ.Model.Users() { D_Id = 2, U_PassWord = "事务", U_UserName = &q
阅读全文
自已做的框架RJ 第四篇----------------删除
摘要:删除是最简单的了 var d = new DeleteSqlSection<RJ.DModel.Users>(); d.Where(a => a.U_Id ==10); db.Delete(d);DELETE FROM [Users] WHERE [U_Id] = @ptvd9ps6wuhpwsa删除就没什么好说的了复杂的WHERE操作之后在说了
阅读全文
自已做的框架RJ 第三篇----------------修改数据
摘要:修改数据也差不多所以改成3.5的格式如下 var u = new UpdateSqlSection<RJ.DModel.Users>(); u.AddColumn(a => a.D_Id.SetValue(2)); u.Where(a => a.U_Id == 2); db.Update(u);鼠标放到u上或u.ToString()可以看到生成的SQL语句UPDATE [Users] SET [D_Id]=2 WHERE [U_Id] = @pwjsw8dxteuv64x当中的2只是显示出来给编写人看的实际UPDATE [Users] SET [D_Id]=@plq8l
阅读全文
自已做的框架RJ 第二篇----------------添加数据
摘要:第二篇----------------添加接到上一篇说这篇还是添加,修改 ,删除就不用图了好累直接上代码这次用到了一个RJ.Sql的命名空间添加1 var a = new RJ.Sql.InsertSqlSection(RJ.DModel.Department.TABLENAME);2 a.AddColumn(RJ.DModel.Department._D_Name, "新的");3 a.AddColumn(RJ.DModel.Department._D_ParentId, 0);4 5 Console.WriteLine("部门添加成功,返回:" +
阅读全文
自已写的框架RJ 一
摘要:呵呵3个月了都没有更新过博客.最近又有心情写点东西了看到之前的才写了一点就没后文了 感觉也把前面那么写完比较好 最近有空我都在改这个框架 .想到什么功能都想加上导致变的有点复杂了感觉不好完全违反了开始写这个的初终"简单"我把前的已经上传了还有生成工具 觉得之前太不负责了- - 里面有2.0和3.5两个版本 2005中也可以用了(我在2008的2.0框架下调的 应该能用吧)这个版本号是1.7有兴趣的可以关注下以后的版本RJ1.7好了先来讲下怎么用这个框架 之前是用SQL字符串演示的..看起觉得这个太没用..这个框架操作数据库的部份主要就是让你在编程时能够快速的面向对象的编码
阅读全文