DataControl的問題 |
尚未結案
|
Paicaso
中階會員 發表:140 回覆:124 積分:52 註冊:2002-09-04 發送簡訊給我 |
我分別有以下二資料元件
資料1:DBGrid1,DataSource1,Query1,DBCheckBox1
資料2:DataSource2,Query2,DBCheckBox2
因資料2會隨著資料1變動,故在資料1的DataSource1之onDataChange加入
id := Query1.FieldByName('no').AsString;
Query2.SQL.Clear;
Query2.SQL.Add('Select * from DATA2 ');
Query2.SQL.Add('Where no = ''' id ''' ');
Query2.SQL.Add('order by no');
Query2.Close;
Query2.Open;
目地以取出DATA2之DBCheckBox2值,但卻無法取出,2;當然亦無法寫入
而DBCheckBox1沒問題
|
Paicaso
中階會員 發表:140 回覆:124 積分:52 註冊:2002-09-04 發送簡訊給我 |
補充:
原本我用Standard支元件做,但在onDataChange需一筆一筆取出與許入比較麻煩,故響改成用DataControl.
用Standard元件時都可以
在資料1的DataSource1之onDataChange
id := Query1.FieldByName('no').AsString;
Query2.SQL.Clear;
Query2.SQL.Add('Select * from DATA2 ');
Query2.SQL.Add('Where no = ''' id ''' ');
Query2.SQL.Add('order by no');
Query2.Close;
Query2.Open; DBCheckBox2.Checked := Query2.FieldByName('A1').AsBoolean;
.....
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
1. onDataChange被驅動的機會很多, 修改Query1任何一field之值均會驅動onDataChange, 因此最好加個
if Field=nil then begin id := Query1.FieldByName('no').AsString; ... end;2. 無法取出, 錯誤訊息為何? 3.DBCheckBox2.Checked := Query2.FieldByName('A1').AsBoolean; 這個是不需要的, 因為DBCheckbox2是DataAware Control, 只要DataSource接上就會自行更新, 此行相當於要修改資料, 而你又未進Edit Mode 所以會錯誤 |
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
引言: 我分別有以下二資料元件 資料1:DBGrid1,DataSource1,Query1,DBCheckBox1 資料2:DataSource2,Query2,DBCheckBox2 因資料2會隨著資料1變動,故在資料1的DataSource1之onDataChange加入 id := Query1.FieldByName('no').AsString; Query2.Open;<--放到這 Query2.SQL.Clear; Query2.SQL.Add('Select * from DATA2 '); Query2.SQL.Add('Where no = ''' id ''' '); Query2.SQL.Add('order by no'); Query2.Close; 目地以取出DATA2之DBCheckBox2值,但卻無法取出,2;當然亦無法寫入 而DBCheckBox1沒問題天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2003/02/24 10:16:04
------
天行健 君子當自強不息~~@.@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |