模板中DataBaseContext对象执行sql语句

2024-03-01 16:52 小编

PageAdmin系统提供了一个内置的数据库访问对象,声明如下:

var dbContext = DbHelper.DbContext();

DbHelper.DbContext()是PageAdmin.Utils工具类提供的方法,可用于各种数据库有关的操作。

下面列举一下常用方法

1、执行sql语句,返回受影响的int数值。

dbContext.Execute("sql 执行语句")

2、查询数据库,返回IEnumerable<dynamic>类型。

dbContext.SqlQuery("sql查询语句")

3、参数化查询,避免sql注入风险。

var dbContext = DbHelper.DbContext();
dbContext.AddDbParamter("id",1);
var listData=dbContext.SqlQuery("select [id],[name] from tableName where id=@id");

提示:为了避免sql注入,大家构造sql语句时候,强烈建议不要拼接sql语句,而是通过dbContext.AddDbParamter进行参数化传递。


实例1:通过sql语句循环读取news表的title字段

    <ul>
        @{
            var dbContext = DbHelper.DbContext();
            foreach (var item in dbContext.SqlQuery("select [title] from news order by id desc"))
            {
                <li>
                  @item.Title
                </li>
            }
        }
    </ul>

....

实例2:通过sql语句更新字段,本实例可用于ajax请求。

@{
    Layout = null; //禁止加载母版页
    
    string param1 = Request.QueryString["param1"]; //get请求获取参考示例
    string param2 = Request.Form["param2"]; //post请求获取参数示例
    
    var result = new { state = 1, msg = "success" }; //申明一个浏览器输出的对象
    var dbContext = DbHelper.DbContext();
    dbContext.Execute("update [product] set [myfield]=[myfield]+1");//更新product表中的myfield字段加1。
    
    //下面的语句用于向浏览器输出json对象,result对象转json格式输出后,前端ajax可以获取到。
    Response.Clear();
    Response.ContentType = "application/json";
    Response.ContentEncoding =System.Text.Encoding.UTF8;
    Response.Write(JsonHelper.JsonParse(result));
    Response.End();
}

DataBaseContext对象有很多方法,这里不一一赘述,有兴趣的请下载PageAdmin.Utils源码文件自行查看,


在线咨询 拨打电话

电话

13363039260

微信二维码

微信二维码