• WebMatrix之数据访问


    WebMatrix数据访问系列目录:

    WebMatrix是微软专为Asp.net web pages打造的一款轻量快捷型的Web开发工具,适合非专业开发人员,新手入门,详细可参考此处。下文是结合微软教程而总结的WebMatrix简单访问数据库的方式。当然,所选数据库是WebMatrix御用轻量型数据库Sql Server Compact Edition,也可以选择创建连接选择服务器版本的Sql server:

    image

    上图可以看出WebMatrix创建的数据库连接方式只支持SQL Server 2005/2008。

    以下是WebMatrix访问数据之CRUD:

    (Asp.net web pages 中的Razor语法可参考此文:Introduction to ASP.NET Web Programming Using the Razor Syntax

    1.Create

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @{
         var MovieName="";
         var MovieGenre="";
         var MovieYear="";
           if(IsPost){
             MovieName=Request["formName"];
             MovieGenre=Request["formGenre"];
             MovieYear=Request["formYear"];
             var SQLINSERT = "INSERT INTO Favorites (Name, Genre, ReleaseYear) VALUES (@0, @1, @2)";
             var db = Database.Open("Movies");
             db.Execute(SQLINSERT, MovieName, MovieGenre, MovieYear);
            Response.Redirect("datamovies.cshtml");
           }
         }

    使用命名空间WebMatrix.Data下的类Database的静态方法Open创建一个SSCE的数据库连接(准确来说是一个Func<DbConnection>,实现延迟创建DbConnection,后文会介绍);方法Execute执行sql插入语句,参数占位符使用类似于@0, @1, @2,防止sql注入(Execute方法内部会根据传入最后三个参数值创建相应的DbParameter)。

    2.Retrieve

    1
    2
    3
    4
    5
    @{
           var db= Database.Open("Movies");
           var sqlQ = "SELECT * FROM Favorites";
           var data = db.Query(sqlQ);
         }

    查询单行语句可使用DataBase实例方法QuerySingle。

    3.Update

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @{
          var id=Request["id"];
         var SQLSELECT = "SELECT * FROM Favorites where ID=@0";
           var db = Database.Open("Movies");
          var Movie = db.QuerySingle(SQLSELECT,id);
         var MovieName=Movie.Name;
         var MovieGenre=Movie.Genre;
        var MovieYear=Movie.ReleaseYear;
         
         if(IsPost){
            MovieName=Request["formName"];
            MovieGenre=Request["formGenre"];
             MovieYear=Request["formYear"];
           var SQLUPDATE = "UPDATE Favorites Set Name=@0, Genre=@1, ReleaseYear=@2 WHERE id=@3";
            db.Execute(SQLUPDATE, MovieName, MovieGenre, MovieYear,id);
             Response.Redirect("dataMovies.cshtml");
        }
     }

    在if(IsPost)通过Requese请求获取需要更新的列值,同样是使用Execute方法。

    4.Delete

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @{  
       var id=Request["id"];
        
        var SQLSELECT = "SELECT * FROM Favorites where ID=@0";
         
        var db = Database.Open("Movies");
       var Movie = db.QuerySingle(SQLSELECT,id);
        
        var MovieName=Movie.Name;
        if(IsPost){
         
        var SQLDELETE = "DELETE FROM Favorites WHERE ID=@0";
        
        db.Execute(SQLDELETE,id);
        
        Response.Redirect("dataMovies.cshtml");
        }
        }
    作者:Microred 
    出处:http://microred.cnblogs.com 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    当前标签: WebMatrix

     
    一抹红 2012-04-04 23:54 阅读:15 评论:0
     
    一抹红 2012-04-04 23:51 阅读:21 评论:0
     
    一抹红 2012-04-04 23:34 阅读:34 评论:0
     
    一抹红 2012-04-04 22:51 阅读:526 评论:0
  • 相关阅读:
    html 锚点
    html table 表格详解
    IE6 不识别css固定元素位置(fixed)属性
    css hack 方法总汇2
    css hack 方法总汇1
    JS刷新父窗口的几种方式
    手动切换选项卡
    自动切换选项卡
    jquery 判断 radio,checkbox,select是否被选中
    EasyUI 各种json数据格式
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2432749.html
Copyright © 2020-2023  润新知