在使用BCB6.0 寫一個從mysql資料庫表中讀取資料,展示到DBGrid中.但是想對mysql資料庫中獲取的資料做一些處理,再放到DBGrid中.詳細描述和疑問如下:
DBGrid、DataSource、ADOQuery、 ADOConnection四個組建實作從mysql資料庫product_info表中獲取資料.product_info獲取的欄位為name、price、dicount、type.現在有2個問題,沒法解決.
問題一:
從product_info表中獲取的值為“商品1,100,0.8,1”.我在DBGrid中添加了6個Cloumns.分別為0--5.
AnsiString a = 商品1;
AnsiString b = 100;
AnsiString c = 0.8;
AnsiString d = 1;
依據規則對上面的資料進行了一定的處理后,abcd數值分別發生了改變,并且衍生出了e、f兩個變數值.現在
想把a、b、c、d、e、f 6個變數分別賦值到DBGrid的6個Cloumn中.即想實作DBGrid中展現abcdef的值.
請問應該如下實作?
問題2:
從product_info表中撈取出來的記錄,是多條記錄.每條記錄都會處理,然后放到DBGrid中.那么DBGrid放入一列值后,(1)如何向第二行繼續添加資料?
(2)如果想自動生成序列編號,如何實作?
問題3:
假設操作程序中,有10條資料.想實作用滑鼠點擊到哪行,點擊右鍵就可以洗掉該行記錄,并且重新自動序列編號,應該如何實作。
謝謝各位了.
uj5u.com熱心網友回復:
問題一二、你的規則復雜不,有個計算列,可以處理問題三: query->Delete();就是洗掉當前行
洗掉完成后 first.next.eof....遍歷再處理一下就可以了
uj5u.com熱心網友回復:
如果過于復雜, 用clientdataset做轉換,創建虛擬列,可定能解決了。uj5u.com熱心網友回復:
1.你是批處理資料.為何不就在SQL里面根據規則計算好了再取出來直接顯示呢?你用程式能進行的計算一般SQL也能完成吧.實在不行,在OnEndRowEdit事件里面進行處理.2.你是捆綁資料感知控制元件.這個新增,完全不用你來操心吧.有多少條記錄就會顯示多少條.不需要人為去增加.
3.ADO有個RecNo.表示當前行數值.用這個數值當作序號即可.洗掉記錄后重新重繪下ADO即可.
4.用的資料感知.添加個右鍵選單控制元件,直接ado->delete()即可洗掉當前行.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148736.html
標籤:數據庫及相關技術
上一篇:求救妖哥(其他兄弟也可搭救小弟)--關于TRichViewEdit輸入法的問題(全部積分60分奉上)
下一篇:RichEdit輸出問題
