zoukankan      html  css  js  c++  java
  • 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期源码下载

  • 相关阅读:
    linux 服务器---FastDFS分布式文件服务器配置
    JFinal getModel方法(从页面表单中获取Model对象)+数据库存储问题
    实现Callable接口。带返回值的线程
    Spring 自动化装配Bean
    Spring--基于代理类ProxyFactoryBean的AOP实现
    Jfinal中的validator理解/详解
    Jfinal中的文件上传
    HotSpot学习(二):虚拟机的启动过程源码解析
    HotSpot学习(一):编译、启动与调试
    Netty的对象池
  • 原文地址:https://www.cnblogs.com/AaronYang/p/2693993.html
Copyright © 2011-2022 走看看