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期源码下载

  • 相关阅读:
    js复制文字到剪切板
    js推送网页到扩展屏上
    数据库自增ID用完了会怎么样?
    使用@nuxtjs/sitemap给项目添加sitemap(网站地图)
    js实现视频截图,视频批量截图,canvas实现
    javascript深入参数传递
    基于JQ使用原生js构造一个自动回复随机消息的机器人
    把nodejs程序打包成可执行文件
    如何巧妙使用some函数来优化性能
    Eggjs 设置跨域请求 指定地址跨域 nodejs
  • 原文地址:https://www.cnblogs.com/AaronYang/p/2693993.html
Copyright © 2011-2022 走看看