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
原文地址:https://www.cnblogs.com/Leo_wl/p/2432749.html