Delphi數(shù)據(jù)庫(kù)應(yīng)用程序中常見錯(cuò)誤

字號(hào):

下是Delphi數(shù)據(jù)庫(kù)應(yīng)用程序中常見錯(cuò)誤、原因/解決方法:
    數(shù)據(jù)感知控件DataSource屬性未設(shè)置或者設(shè)置錯(cuò)誤(鏈接為其他的DataSource)
    原因:在設(shè)計(jì)時(shí)不小心改動(dòng),拷貝粘貼過程中未全部更改
    測(cè)試時(shí)標(biāo)準(zhǔn)代碼中沒有數(shù)據(jù),無法進(jìn)行測(cè)試
    解決:確定需要輸入數(shù)據(jù)的表格的先后順序,在依次輸入測(cè)試數(shù)據(jù),再進(jìn)行測(cè)試
    wwFilterDialog中進(jìn)行數(shù)據(jù)過濾時(shí),應(yīng)該顯示字段列表的字段沒有顯示,不方便輸入
    解決:判斷字段,查找標(biāo)碼填充字段列表
    運(yùn)行程序時(shí)出現(xiàn)字段未找到的錯(cuò)誤
    原因:數(shù)據(jù)庫(kù)進(jìn)行了更改,而DataSet的字段列表沒有更新
    用DBGrid顯示數(shù)據(jù)時(shí),為方便閱讀,單數(shù)行與奇數(shù)行用不同顏色顯示,在數(shù)據(jù)量時(shí),瀏覽數(shù)據(jù)時(shí)明顯感覺到DBGrid數(shù)據(jù)刷新不夠,單數(shù)行與奇數(shù)行的顏色不能正確顯示
    原因:DBGrid的 DataSource的DataSet中有較多的查找字段
    解決:將部分查找字段去除
    窗體標(biāo)題為英文
    原因:設(shè)計(jì)后未仔細(xì)檢查
    解決:更改為中文
    DBNavigator中“刷新”按鈕點(diǎn)擊后出錯(cuò)
    原因未知
    解決:去除該按鈕
    與dxDBGrid配套使用的DBNavigator,在dxDBGrid的模式為L(zhǎng)oadAll時(shí),導(dǎo)航按鈕與期望的方式不同
    原因:dxDBGrid在LoadAll模式時(shí),與DataSet中的數(shù)據(jù)不一致
    解決:去除導(dǎo)航中的部分按鈕
    由存儲(chǔ)過程得到的數(shù)據(jù)集對(duì)應(yīng)的DBNavigator的“刷新”出錯(cuò)
    原因:不清
    解決:去除該按鈕
    窗體Show后,進(jìn)入數(shù)據(jù)編輯后,部分查找字段編輯時(shí)出現(xiàn)數(shù)據(jù)集未打開
    原因:數(shù)據(jù)集打開順序有問題
    解決:調(diào)整數(shù)據(jù)集的打開順序,讓標(biāo)碼數(shù)據(jù)集先打開
    出現(xiàn)未找到存儲(chǔ)過程的錯(cuò)誤
    原因:數(shù)據(jù)庫(kù)的存儲(chǔ)過程進(jìn)行的重命名
    解決:更改DataSource中的存儲(chǔ)程序名稱
    wwFilterDialog的標(biāo)題空白
    解決:改為與數(shù)據(jù)集相關(guān)的標(biāo)題,如“篩選計(jì)劃”
    窗體在1024*768下設(shè)計(jì)時(shí),即使窗體為800*600,在屏幕分辨率為800*600的時(shí)候出現(xiàn)窗體中的內(nèi)容不能全部顯示的現(xiàn)象
    解決:1024*768下設(shè)計(jì)800*600時(shí)預(yù)留一定的空間
    出現(xiàn)“Couldno’t perform the edit because another user changed the record”錯(cuò)誤
    原因:未知
    dxDBGrid在將字段拖曳到分組欄時(shí),不能進(jìn)行編輯:dxDBGrid中的當(dāng)前記錄與數(shù)據(jù)感知控件的當(dāng)前記錄不一致
    解決:將二者在不同部分實(shí)現(xiàn),不在同一窗體實(shí)現(xiàn)
    出現(xiàn)“General SQL Error”錯(cuò)誤
    原因:未知。但發(fā)現(xiàn)在FormShow中打開表很多,嘗試將其中部分表不打開時(shí),錯(cuò)誤消失,且不打開的表不同時(shí),錯(cuò)誤都消失
    (系統(tǒng)休眠后)第一次連接數(shù)據(jù)庫(kù)時(shí)(用戶、口令均正確),出現(xiàn)錯(cuò)誤,但第二次則正常
    原因:未知
    打開/保存對(duì)話框未設(shè)置過濾條件
    解決:設(shè)置合理的Filter、DefaultExt
    防差錯(cuò)措施不完善。(如輸入數(shù)據(jù)(數(shù)字)出錯(cuò)時(shí)不報(bào)警)
    解決:保存前驗(yàn)證正確性判斷,設(shè)置Mask
    數(shù)據(jù)感知控件DBComboBox應(yīng)可進(jìn)行選擇和輸入的輸入框,不能進(jìn)行輸入
    解決:更改Style屬性為csDropDown
    其他更一般的問題:
    模態(tài)對(duì)話框,Escape鍵不起作用
    解決:合理設(shè)置Button的Canceled屬性
    模態(tài)對(duì)話框,回車鍵不起默認(rèn)作用
    解決:合理設(shè)置Button的Defaulted屬性
    使用Tab鍵后焦點(diǎn)跳轉(zhuǎn)順序無規(guī)律
    解決:設(shè)置控件的TabOrder屬性