問題分析總結範文
在應用mfc odbc類進行數據庫應用的開發的過程中遇到了好多問題,曾搞得我焦頭爛額^_^,項目開發完成後,對開發過程中關於odbc報錯問題解決方法做個小結。
報錯一: “不支持動態記錄集”
問題分析:使用cdatabase類的open()成員函數時,最後一個參數默認是加載動態遊標庫。因此,出現“不支持動態記錄集”的錯誤,就是由此而來。
我遇到的例子a:使用open(默認dynaset)時,當訪問時間之類的字段時會出現"不支持動態記錄集",此時需改為snapshot)
ctime m_tmborrow;
if(this-isopen())
{
this-close();
}
this-open(crecordset::snapshot,_t("select * from tbborrow where readerid = '"+readerid+"'"));
m_tmborrow = this-m_borrowtime;
。。。。。。
報錯二:“檢索記錄出錯”
問題分析:在用vc的類嚮導新建一個基類為crecordset的數據集類時要注意類嚮導在綁定字段時使用的成員類量的數據類型是否與你的數據庫字段類型一至。因為發現類嚮導並不是根據字段本身的數據類型來定義綁定變量的數據類型的。常常會把一個數據庫常用的id或編號一類字段按long型處理,而實際上這樣的字段往往是字符型的。在此時不會有錯誤發生,錯誤只會在你執行sql查詢時跳出來。 執行sql查詢時,如果出現“非法描述器索引”和“檢索記錄出錯”這兩個錯誤,那多半就是因為數據庫字段與綁定變量的數據類型不相符導至的。前者一般靜態數據集(snapshot)引起,而後者一般由動態數據集(dynaset)引起。
我遇到的例子b:修改accesse數據庫字段名稱(該字段數據類型為日期/時間或者文本類型,其中文本類型的掩碼修改為日期/時間格式),在vc的crecordset派生類中重新綁定數據庫表,導致運行程序時報告“檢索記錄出錯”。解決辦法則是很簡單,把crecordset的派生類從工程中刪除掉,然後再重建一個同樣的crecordset的派生類問題就解決了(不要問我原因,我也搞不清)。
報錯三:“非法描述器索引”
問題分析:同上
我遇到的例子c:每一個數據庫裏面難免要有幾個表,需要對每個表進行添加記錄操作(把數據庫裏的所有表都添加到crecordset的派生類中,並且每個表的字段都綁定相應的變量)。結果每次添加記錄時都會有“非法描述器索引”出現,解決方法,每個表都用一個crecordset的派生類來操作,ok搞定了!
報錯四:“參數不足,期待是1”
問題分析:這個問題通常是sql語句錯誤造成的,通常是sql語句中的字段數據類型不匹配,或者字段數據個數不匹配造成的,例如:執行insert into table(name,password) values("aa") 就會造成參數不足。
報錯五:“記錄集是隻讀”
問題分析:這個問題通常是因為沒打開要操作的表,但也可能是操作表的字段設置不合理。
-
國土資源工作總結十篇
國土資源工作總結篇1一、上半年主要工作回顧半年來,我局工作在區委、區政府的正確領導和街道、舊村辦的大力支持下,以切實做好舊村改造工作為重點,堅持保護與利用、服務與管理並舉的原則,較好地完成了各項工作任務。1、全力以赴做好舊村改造拆遷工作我拆遷分部於xx...
-
國小問題讀物清查總結範文(精選4篇)
國小問題讀物清查總結範文篇1“書乃物中精華,善求者必博。”為進一步貫徹落實教育部《中國小生課外讀物進校園管理辦法》,加強課外讀物管理,積極營造健康向上的校園文化氛圍,不斷引導學生的健康成長,江陵縣西湖國小於11月1日上午9時在羣團活動室召開了課外讀物排查...
-
兒科的工作總結十篇
兒科的工作總結篇1嫻熟的技術源於高度的奉獻精神。兒科患者眾多,工作繁重,已是全院皆知,儘管如此,作為科室主任,我以身作則,嚴格要求自己,為了病人,我從醫二十多年來不知放棄了多少個休息日,只要病人需要,我時時刻刻都把自己當做值班醫師隨叫隨到,以院為家,把全部的心血都...
-
2023線路工作總結十篇
2023線路工作總結篇11、xx年中心將力求實效,緊緊圍繞中心重點工作,突出安全生產管理,加大工作推進力度。重點做好以下幾個方面的工作:加快基礎達標和隱患整治進度。加快基礎達標和隱患整治進度主要從五個方面着手:一是加強員工安全思想教育和員工技能培訓;二是加強巡...