freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

mygeneration學(xué)習(xí)筆記-資料下載頁(yè)

2025-08-23 15:52本頁(yè)面
  

【正文】 annot load the object. Better to use LastQuery. (8).最后一次查詢 A string property that contains the SQL text of the most recently generated SQL statement. (9).返回Reader SqlDataReader reader = () as SqlDataReader。八 dOOdad提供的數(shù)據(jù)綁定、特殊函數(shù)和事務(wù)處理同上篇,主要是參考dOOdad文檔,并加入了一些自己的理解。1. 數(shù)據(jù)綁定: (1) 綁定到DataGrid(WebApp)if(())...{dvEmps==dvEmps。()。} (2) 綁定到ComboBox(WinApp)//getdata()。()。(,)。()。//bindtobobox=== (3) 綁定到DropDownList(WebApp)//getdata()。()。(,)。()。//bindtodropdownlist===()。2. 特殊函數(shù):執(zhí)行自定義存儲(chǔ)過程和SQL語句Examples:(1)LoadFromSql: (從數(shù)據(jù)庫(kù)中檢索并返回檢索結(jié)果集,查詢結(jié)果保存到DataTable中)ListDictionaryParms=newListDictionary()。(@parameterName1,value1)。(@parameterName2,value2)?!璱f((proc_GetSpecialEmployee,Parms))...{...}(2)LoadFromSqlNoExec: (執(zhí)行無結(jié)果集的存儲(chǔ)過程,返回受影響的行數(shù))int NbrOfChecks = (proc_CalculatePayroll)。 例如:刪除一條記錄,dOOdad提供的文檔中的方法是:先LoadByPrimaryKey,再M(fèi)arkAsDeleted,最后再Save進(jìn)數(shù)據(jù)庫(kù);這個(gè)過程要對(duì)數(shù)據(jù)庫(kù)進(jìn)行兩次操作。實(shí)際上,我們可以只操作一次數(shù)據(jù)庫(kù)(直接用dOOdads模板生成的存儲(chǔ)過程),而不用先Load。ListDictionary Parms = new ListDictionary()。(@ID, empID)。int effectLine = (proc_EmployeeDelete,Parms)。(3)LoadFromSqlReader:(返回SqlDataReader)SqlDataReader rdr = (proc_GetSpecialEmployee, Parms) as SqlDataReader。(4)LoadFromSqlScalar:(返回單個(gè)值)DateTime EarliestHireDate。ListDictionary Parms = new ListDictionary()。(@Active, 1)。EarliestHireDate = ((GetEarliestHireDate,Parms))。(5)LoadFromRawSql:(SELECT MIN(EM_HireDate) FROM tEmployees WHERE EM_Active = {0},1)。3. 事務(wù)處理:TransactionMgrtx=()。try...{Employeesemps=newEmployees()。()。=Jimmy。=Doe。Productsprds=newProducts()。()。=LunchBox=false。()。()。()。()。}catch(Exceptionex)...{()。()。}九 在WebService使用dOOdad時(shí),對(duì)ToXml/FromXml的一點(diǎn)改進(jìn)在前面幾篇《在Web Service中使用dOOdad》中,我提到用ToXml/FromXml來實(shí)現(xiàn)在WebService中使用dOOdad。但在具體的項(xiàng)目實(shí)踐中,我有遇到一個(gè)新問題:將一個(gè)業(yè)務(wù)實(shí)體ToXml后得到字符串,然后再對(duì)FromXml來解析字符串,獲得新的實(shí)體,但這個(gè)實(shí)體已嚴(yán)重失真,其中的DataTable丟失了Schema,會(huì)導(dǎo)致部分?jǐn)?shù)據(jù)類型(如數(shù)據(jù)庫(kù)中的Image類型)對(duì)應(yīng)的字段不能解析回來,這時(shí)調(diào)用Save方法時(shí)就會(huì)出錯(cuò)。dOOdad項(xiàng)目源代碼中的ToXml和FromXml:virtualpublicstringToXml()...{DataSetdataSet=newDataSet()。(_dataTable)。StringWriterwriter=newStringWriter()。(writer)。()。return()。}virtualpublicvoidFromXml(stringxml)...{DataSetdataSet=newDataSet()。StringReaderreader=newStringReader(xml)。(reader)。=[0]。()。} 針對(duì)如上所述問題,我的一個(gè)解決辦法是重新構(gòu)造Schema。下面是我的大致思路://BusinessEntity中:virtualpublicstringToXml()...{StringWriterwriter=newStringWriter()。(writer)。//return()。//此時(shí)的返回值中不含Schema}virtualpublicvoidFromXml(stringxml)...{()。StringReaderreader=newStringReader(xml)。(reader)。=_dataTable。//記得加上這條語句}protectedvirtualvoidCreatDataTable()...{//為空,由子類來選擇實(shí)現(xiàn)或者不實(shí)現(xiàn)。//當(dāng)然我們也可以將方法設(shè)為abstact,強(qiáng)迫子類來實(shí)現(xiàn),但這樣不太厚道://具體的應(yīng)用中未必會(huì)每個(gè)業(yè)務(wù)實(shí)體都用到ToXml/FromXml轉(zhuǎn)換,所以不建議設(shè)為abstract}//ConcreteClass中:(ps:建議在ConcreteClass中實(shí)現(xiàn)自己的代碼,而不要把自己的代碼寫到dOOdad生成的AbstactClass中。因?yàn)槿绻麛?shù)據(jù)庫(kù)中表的字段作了局部調(diào)整后,AbstractClass中需要作很多瑣碎的改動(dòng),倒不如刪掉AbsractClass重新再用MyGeneration來生成代碼,而自己加入的代碼又得重新寫過。)publicoverridevoidAddNew()...{()。//重構(gòu)了一下,抽取出一個(gè)方法()。}protectedoverridevoidCreatDataTable()...{=newDataTable()。(,typeof(int))。(,typeof(string))。(,typeof(string))。//.........} 現(xiàn)在就可以通過ToXml和FromXml來實(shí)現(xiàn)字符串(不含Schema)與業(yè)務(wù)實(shí)體的近似對(duì)等轉(zhuǎn)換(注意:這里僅僅是說近似對(duì)等轉(zhuǎn)換,因?yàn)镈ataRow的狀態(tài)還是丟失了,所以在FromXml后,CurrentRow的狀態(tài)處于Added;此時(shí)如果是想實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)記錄的修改,則還需調(diào)用AcceptChanges()和SetModified()(MyGeneration學(xué)習(xí)筆記(6) :在Web Service中使用dOOdad(下) 有講)重新設(shè)置其狀態(tài)才實(shí)現(xiàn)修改。) 補(bǔ)充:上面所講的是實(shí)現(xiàn)在網(wǎng)絡(luò)中只傳輸DataTable中的數(shù)據(jù),而不傳輸DataTable的Schema。事實(shí)上,dOOdad中已實(shí)現(xiàn)了另一種方法來實(shí)現(xiàn)字符串(含Schema和數(shù)據(jù))與業(yè)務(wù)實(shí)體的轉(zhuǎn)換,即Serialize()和Deserialize()方法,且這種序列化是高保真的,可以使得業(yè)務(wù)實(shí)體通過XML字符串實(shí)現(xiàn)完全對(duì)等轉(zhuǎn)換。但這種方法的一個(gè)不足之處是傳輸數(shù)據(jù)時(shí)需要傳輸Schema,我試過用Serialize()序列化我的項(xiàng)目中的一個(gè)業(yè)務(wù)實(shí)體,得到的Xml字符串的長(zhǎng)度是3460,而ToXml()得到的字符串的長(zhǎng)度是1857,二者相差1603個(gè)字符。一個(gè)Unicode字符占4個(gè)byte,則每次Serialize()得到的結(jié)果要比ToXml()得到的結(jié)果大1603*4Byte();而當(dāng)系統(tǒng)中很多個(gè)客戶端同時(shí)請(qǐng)求這種獲取數(shù)據(jù)的WebMethod接口時(shí),就不得不考慮WebService服務(wù)器的網(wǎng)絡(luò)負(fù)擔(dān)了。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1