一直在實現.net下的o/r m元件,但在把sql條件表示式注入元件的過程中想法生了一些轉變。雖然o/r m在某些資料操作上的確很靈活和方便,但對關係和物件的依賴性強;對於一些複雜的查詢和統計o/r m不太適合(這只是個人看法)。
作為乙個資料處理元件它應該能夠很好的解決資料處理問題,經過一段時間的思考決定把sql語句物件化;實現sql語句在.net平台下快速呼叫,o/r m功能作為元件的輔助功能。把sql語句轉成相應的物件在.net中使用並不是大問題,但使用的方便性和功能支援上是難點。由於前期對元件進行了多次的重構和sql條件表示式注入實現的一些經驗,這次的更改很快就得到了一些成效。
delete語句物件化後的呼叫過程
idelete delete = session.createdelete(orders.tbl);
delete.expression = orders.orderid >10204 & orders.orderid<10400;
delete.execute();
update語句物件化後的呼叫過程
iupdate update = session.createdelete(orders.tbl);
update.fields = new field;
update.expression =orders.orderid.in(new object);
update.execute();
insert語句物件化後的呼叫過程
iinsert insert = session.createinsert(employees.tbl);
insert.fields = new field;
insert.execute();
select語句物件化後的呼叫過程
iquery query = session.createquery(employees.tbl.inner(orders.tbl));
query.selects = new tablefield;
query.groupby = new tablefield;
query.executedataset();
SQL語句引數化 封裝
封裝sql語句引數化 以下 寫為sqlcanshuhua.py檔案 encoding utf 8 from pymysql import class mysqlhelper def init self,user,passwd,db,host localhost port 3306,charset u...
SQL結構化查詢語句
1 通用語法 名稱 解釋命令 ddl 資料定義語言 定義和管理資料物件,如資料庫,資料表等 create drop alter truncate dml 資料操作語言 用於運算元據庫物件中所包含的資料 insert update delete dql 資料查詢語言 用於查詢資料庫資料 select ...
SQL 語句的TOP,Distinct語句
select top 3 from dbo.mystudent 查詢student表中前3條所有的資料 select top 3 s name,s gender,s address,s age from dbo.mystudent 查詢student表中前3條部分的資料 select top 3 p...