DBGrid中怎樣使得後台資料庫中沒有的欄位可以修改? |
尚未結案
|
dialog
一般會員 發表:33 回覆:18 積分:10 註冊:2002-09-07 發送簡訊給我 |
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 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 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 發送簡訊給我 |
引言: [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 發送簡訊給我 |
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
dialog 你好 1.經測試後,果然不能輸入自訂欄位的值(一時忘了AdoQuery是直接連著Table的,系統一看SQL內容不對就將CanModify的屬性設為False了)TAdoTable、TTable、TQuery都同樣道理。 2.如此看來只有放個dataSetProvider 然後輸出到TClientDataSet才可以了(對於資料瀏覽、報表的輸出等不用更新回資料庫的應用,我都是這樣用的)
SQL指令同上所述。dbGrid->DataSource->連到TClientDataSet
發表人 - chance36 於 2004/02/09 19:47:09
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |