全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1020
推到 Plurk!
推到 Facebook!

DBGrid中怎樣使得後台資料庫中沒有的欄位可以修改?

尚未結案
dialog
一般會員


發表:33
回覆:18
積分:10
註冊:2002-09-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-05 11:24:10 IP:61.141.xxx.xxx 未訂閱
AdoQuery1.LockType:=ltBatchOptimistic; AdoQuery1.sql.add(select 0 fg,Field1,Field2 from Table1); AdoQuery1.open; DataSource1.DataSet:=AdoQuery1; DBGrid1.DataSource:=DataSource1; DBGrid1在數據源為AdoQuery1。我想在程式運行時修改fg的值,判定是否選取。不對AdoQuery1進行Update。 請問怎樣實現?
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-05 11:27:47 IP:211.22.xxx.xxx 未訂閱
您好: 參考此篇http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26531 ~~應無所住而生其心~~
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-05 21:08:07 IP:211.20.xxx.xxx 未訂閱
引言: DBGrid1在數據源為AdoQuery1。我想在程式運行時修改fg的值,判定是否選取。不對AdoQuery1進行Update。 請問怎樣實現?
    AdoQuery1.LockType:=ltBatchOptimistic;
  //以整數作旗標判斷 0 As Fg 
AdoQuery1.sql.add('select 0 As fg,Field1,Field2 from Table1');
  //以文字(1Byte)作旗標判斷 ' ' As Fg 
  //AdoQuery1.sql.add('select '' '' As fg,Field1,Field2 from Table1');
AdoQuery1.open;
DataSource1.DataSet:=AdoQuery1;
DBGrid1.DataSource:=DataSource1;    
ps:千萬不可更新回資料庫(除非額外處理過)
dialog
一般會員


發表:33
回覆:18
積分:10
註冊:2002-09-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-09 10:00:48 IP:218.18.xxx.xxx 未訂閱
引言: [quote] DBGrid1在數據源為AdoQuery1。我想在程式運行時修改fg的值,判定是否選取。不對AdoQuery1進行Update。 請問怎樣實現?
    AdoQuery1.LockType:=ltBatchOptimistic;
  //以整數作旗標判斷 0 As Fg 
AdoQuery1.sql.add('select 0 As fg,Field1,Field2 from Table1');
  //以文字(1Byte)作旗標判斷 ' ' As Fg 
  //AdoQuery1.sql.add('select '' '' As fg,Field1,Field2 from Table1');
AdoQuery1.open;
DataSource1.DataSet:=AdoQuery1;
DBGrid1.DataSource:=DataSource1;    
ps:千萬不可更新回資料庫(除非額外處理過) 這樣在程式運行期能臨時修改fg的值嗎?我嘗試過,好像不行呀
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-09 10:17:00 IP:61.221.xxx.xxx 未訂閱
您好: AdoQuery1.sql.add('select '+field0 ' As fg,Field1,Field2 from Table1');//field0是STRING型態,讓您動態丟入,這樣不行ㄇ ~~應無所住而生其心~~ 發表人 - Terrychen 於 2004/02/09 10:18:39
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-09 19:44:19 IP:211.20.xxx.xxx 未訂閱
dialog 你好 1.經測試後,果然不能輸入自訂欄位的值(一時忘了AdoQuery是直接連著Table的,系統一看SQL內容不對就將CanModify的屬性設為False了)TAdoTable、TTable、TQuery都同樣道理。 2.如此看來只有放個dataSetProvider 然後輸出到TClientDataSet才可以了(對於資料瀏覽、報表的輸出等不用更新回資料庫的應用,我都是這樣用的) SQL指令同上所述。dbGrid->DataSource->連到TClientDataSet 發表人 - chance36 於 2004/02/09 19:47:09
系統時間:2024-06-29 16:35:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!