SubSnoic 框架入门到提高(4)---全程记录

本篇主要是一些琐碎的东西了,前面3篇都是关于查询的

这篇讲一些没水准的吧

 

4.1 Update

         4.1.1 把ID为1的学生的爱好改成  打游戏 

                    Student ini = Student.FetchByID(1);

            Console.WriteLine("原来爱好是{0}",ini.StudentHobby);
            int i = new Update(Tables.Student).Set(Student.StudentHobbyColumn).EqualTo("打游戏").Where(Student.StudentIDColumn).IsEqualTo(1).Execute();
            if (i > 0)
            {
                 ini = Student.FetchByID(1);
                Console.WriteLine("现在爱好是{0}", ini.StudentHobby);
            }
            else {
                Console.WriteLine("更新出错!");}

效果图

 

多条件时,在where前面在添加一个Set就行了

 

         4.1.2 直接将对象根据主键创建,更改值后,Save一下,就更改到数据库去了 ,1是主键ID

              Student ss = new Student(1);

            ss.StudentHobby = "开坦克";
            ss.Save();

 这种方式我都不敢想象,这也行,但结果真的可以,更方便了,不信试试

 

 

4.2 Insert 

       4.2.1  添加一个叫  清新空气的人,爱好是打游戏,看书,老师是2,类比Update传统方式

                 int i = new Insert().Into(Student.Schema,Student.StudentNameColumn.ToString(),"StudentHobby",Student.Columns.TeacherID).Values("清新空气","打游戏,看书",2).Execute();

            if (i > 0)
            {

                Console.WriteLine("添加成功!");
            }
            else
            {
                Console.WriteLine("添加出错!");}

            

    4.2.2神奇方式

                    Student newStudent = new Student();

            newStudent.StudentName = "清新空气2";
            newStudent.StudentHobby = "打游戏,看书";
            newStudent.TeacherID = 2;
            newStudent.Save();

 跟Update方式很像啊

 

4.3 Delete 

       4.3.1 删除编号为18的那个学生的信息

              int i = new Delete().From<Student>().Where(Student.StudentIDColumn).IsEqualTo(18).Execute();

            if (i > 0)
            {

                Console.WriteLine("删除成功!");
            }
            else
            {
                Console.WriteLine("删除出错!");

            } 

 

这个竟然没找出神奇方式,哎~ 

 但是有一种方法:

表名称.Delete(主键);即可删除

例如:Student.Delete(18); 

或者Delete的重载方式 

Student.Delete(列名,列值);条件删除

 

 4.4 Transaction

        4.4.1 事务实现方式,要不全部添加成功,要不,全部不添加

   List<Insert> insertQueries = new List<Insert>();
            insertQueries.Add(new Insert().Into(Student.Schema, Student.StudentNameColumn.ToString(), "StudentHobby", Student.Columns.TeacherID).Values("清新空气2""打游戏,看书"2));
            insertQueries.Add(new Insert().Into(Student.Schema, Student.StudentNameColumn.ToString(), "StudentHobby", Student.Columns.TeacherID).Values("清新空气3""打游戏,看书"2));
            insertQueries.Add(new Insert().Into(Student.Schema, Student.StudentNameColumn.ToString(), "StudentHobby", Student.Columns.TeacherID).Values("清新空气4""打游戏,看书"2));
            insertQueries.Add(new Insert().Into(Student.Schema, Student.StudentNameColumn.ToString(), "StudentHobby", Student.Columns.TeacherID).Values("清新空气5""打游戏,看书"2));
            SqlQuery.ExecuteTransaction(insertQueries);
            Console.WriteLine("事务方式添加成功!");

   同理,像Delete,Update都可以了

 

这篇很短,还希望见谅 ,4期源码下载

posted @ 2012-09-19 17:04  AYUI框架  阅读(886)  评论(0编辑  收藏  举报