原創,分享 DbHelper 續

2022-02-07 09:25:56 字數 1486 閱讀 5009

一直在想怎麼樣才能讓dbhelper更簡單,更靈活,更僵化。終於我發布了第乙個開源版本的dbhelper.此helper將使用system.data.dbhelper作為命名空間。採用內部驅動與內容session的方式來進行管理。而作為使用者,你只需要作兩件事情。1、註冊乙個驅動;2、繼承dal建立自己的資料處理層。dbhelper在進行事務操作時需要使用lock來開啟事務;unlock提交事務。當出錯時自動進行事務回滾(獲立事務的dal除外)。多個dal可以通過group()方法將事務進行統一(即使驅動不同)。若存在多層巢狀關係,且每個dal都有lock,那麼事務以最外層的為準。

呼叫方法很簡單

1、註冊驅動

dbservice.instance.registdriver("

sql", config.sql, typeof

(sqlhelper));

dbservice.instance.registdriver(

"oracle

", config.oracle, typeof(msoraclehelper));

2、普通查詢

public

datatable getsource(datetime time)

'", time.tostring("

yyyy-mm-dd

"));

commandtext =sql.tostring();

return

getdatatable();

}

3、引數化提交

public

bool

synccardpress(datatable source,datetime time)

'",d);

executenonquery();

commandtext = "

insert into tb_roll_record values(:userid,:machine,to_date(:presstime,'yyyy-mm-dd hh24:mi:ss'),sysdate)";

var userid = addparameter("

userid");

var machine = addparameter("

machine");

var presstime = addparameter("

presstime");

foreach (datarow row in

source.rows)

}unlock();

return

success;

}

4、使用儲存過程

public

void

calc(datetime time)

5、說明

發布版本已經去掉對commantext的直接賦值方法,改為prepare(.....)來進行

好了,祝大家使用愉快。

Z之後是什麼?(續)(原創)

z 之後是什麼?續 上次試驗了乙個單磁碟的,下午突然想想多磁碟數多於 24 會不會對已有系統造成影響呢?於是找了乙個安裝好的虛擬系統 xp sp2 然後再加裝一塊 2gb的 ide硬碟,這塊硬碟的分割槽數為 c z,還留有部分空白。為什麼不到 z 因為用 pq分的時候,到 z時還正常,再加乙個就立即...

DV Arbiter驗證方案分享(續)

前言 前回分享了arbiter驗證的基本思想 link 下面做乙個推廣。並且提供一種使用generate來做assert和cover property的方法。一 round robin arbitor的驗證。對於乙個n輸入的round robin arbitor,需要用n個counter去統計回ac...

分享GoDaddy取消Paypal自動續費方法

如果你是新手準備用godaddy的產品或者已經在使用,如果你將用paypal付款那需要注意關於這篇godaddy取消paypal自動續費方法博文。因為在你第一次使用paypal支付款時候,你會與godaddy達成乙個協議,以後年份將會自動從您的paypal賬戶扣費續費你的網域名稱或者主 機產品。如果...