【オリジナル】データベースのカプセル化操作およびRazolエンジンでの使用

3497 ワード

データベースの操作は1件の面倒な事で、ひっきりなしに読んで、増加して、削除するなどの行為、その上大量のつなぎ文字列の操作が存在して、少し注意しないで間違いを犯す可能性が高いので、私達はデータベースの操作のコードを簡略化してデータベースの操作をもっと簡単にすることができて、前の文章のMVC 3でWebMatrix.Dataを使用してデータベースを操作を発表してから、多くの古い鳥の指摘を受けて、私もページに直接sql文を書かないことに賛成します.もちろん、私自身もそう書かないで、いくつかの特殊なシーンで使うかもしれません.
また、Razolは非常に強力なテンプレートエンジンだと言わざるを得ません.前に紹介したのはテンプレートエンジンの推奨-templateengineです.同时にRazolはCMSシステムの中でテンプレートエンジンとして非常に适していて、机能が强くて、コードの绍介、これはすべてみんながあこがれています.
1読み出し操作
var db = DatabaseHelper.Selete("c_user");

 Rozalで使用し、読み込んだテーブルはc_userは、返されるタイプがIEnumerableなので、タイプを再変換する必要がなく直接コンパイルできます.
<ul>
    @foreach (var item in db)
    {
        <li>@item.ID - @item.Name - @item.Password</li>
    }
</ul>

 Selete法は4つのリロード方法を実現した
//  id 1   
DatabaseHelper.Selete("c_user","id=1");

//   10 ,classid 1   
DatabaseHelper.Selete("c_user","10","classid=1");

//   10 ,classid 1   ,       inputdate desc
DatabaseHelper.Selete("c_user","10","classid=1","inputdate desc");

//    ,  sql  
DatabaseHelper.Selete("c_user","10","classid=@0 and title='@1'","inputdate desc","1","test");

 2アクションの追加
DictionaryおよびHashtableをサポート
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("name", "title11");
d.Add("Password", "xxxx");

DatabaseHelper.Insert("c_user", d);

 
Hashtable ht = new Hashtable();
ht.Add("name", "title1xxxx");
ht.Add("Password", "yyyyy");
DatabaseHelper.Insert("c_user", ht);

 3更新操作
DictionaryおよびHashtableもサポート
Dictionary<string, string> d = new Dictionary<string, string>();
d.Add("name", "title11");
d.Add("Password", "xxxx");

DatabaseHelper.Update("c_user", d, "id=@0","6")

 
Hashtable ht = new Hashtable();
ht.Add("name", "title1xxxx");
ht.Add("Password", "yyyyy");
DatabaseHelper.Update("c_user", ht, "id=@0","6")

 4削除操作
DatabaseHelper.Delete("c_user", "id=@0", "3")

 
DatabaseHelper.Delete("c_user")

 5統計
var count = DatabaseHelper.Count("c_user");

 
    @count    

 パラメータの同時サポート
DatabaseHelper.Count("c_user","classid=@0","1")

 6行または列の値を返します.
フィールド名name,idが1の値を返す
var value = DatabaseHelper.Value("c_user", "name", "id=1");

 データベースの操作はWebMatrix.Dataに基づいてカプセル化されていますので、ご意見をお待ちしています.