程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 數據庫組件 Hxj.Data (七)(sql篇)

數據庫組件 Hxj.Data (七)(sql篇)

編輯:關於ASP.NET

上一節講述的是刪除操作,本節將講述如何直接執行sql語句。

直接執行sql語句是使用FromSql方法。

DbSession.Default.FromSql("select * from products").ToDataTable();

這樣看起來親切多了吧,直接sql就可以執行。

當然也可添加參數的啊。

DbSession.Default.FromSql("select * from products where productid=pid").AddInParameter("pid", DbType.Int32,  1).ToDataTable();

這樣的查詢條件是productid=1返回一條記錄。

這裡sql語句中pid要確保唯一,不然都會被替換成參數的。

比如:select * from products where productid=productid 這樣在sqlserver下就會被替換成select * from products where @productid=@productid

這裡只是做了簡單的替換,所以確保申明的參數唯一性。

當多個參數時可如下寫法:

DbParameter[] parameters = new DbParameter[2];
parameters[0] = DbSession.Default.Db.DbProviderFactory.CreateParameter();
parameters[0].DbType = DbType.Int32;
parameters[0].ParameterName = "pid";
parameters[0].Value = 1;
parameters[1] = DbSession.Default.Db.DbProviderFactory.CreateParameter();
parameters[1].DbType = DbType.Int32;
parameters[1].ParameterName = "cid";
parameters[1].Value = 2;
DbSession.Default.FromSql("select * from products where productid=pid or categoryid=cid")
   .AddParameter(parameters)
   .ToDataTable();

這樣寫似乎太麻煩了,更簡潔的寫法如下:

DbSession.Default.FromSql("select * from products where productid=pid or categoryid=cid")
         .AddInParameter("pid", DbType.Int32, 1)
         .AddInParameter("cid", DbType.Int32, 2)
         .ToDataTable();

這樣就清爽多了。

sql語句的執行也是簡單明了的。

下一節將講述存儲過程的執行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved