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

ADOQuery1不能用 fieldbyname ....?????

答題得分者是:hagar
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-29 22:22:46 IP:61.217.xxx.xxx 未訂閱
DataModule1.ADOTable1.fieldbyname('stu_id').asstring<>''醬是對是嘛~~可是為什麼我用DataModule1.ADOQuery1.fieldbyname('stu_id').asstring<>''就不行了,就會出現錯誤訊息『Project XXX.exe raised exception class EDatabaseError whih message 'ADOQuery1:Field 'stud_id' not found.' Proccess stopped. Use Step or Run to continue.』怎麼會醬子呢~~~幫我抓抓蟲吧~~高手!
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-29 22:44:08 IP:211.23.xxx.xxx 未訂閱
抓蟲也要將程式POST上來啊 @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-08-29 23:25:04 IP:61.217.xxx.xxx 未訂閱
procedure TForm4.dxButton2Click(Sender: TObject);//修改 var xyz:String; InputFile:TextFile; readStr,sqlvar:string; begin if DataModule1.ADOQuery1.FieldByName('stu_id').AsString<>'' then begin AssignFile(InputFile,'C:\ech.txt'); Reset(InputFile); Readln(InputFile,readStr); //抓補習班梯次 GroupBox2.Caption:='☆ 修 改 第 ' ReadStr ' 梯 次 學 生 資 料 ☆ '; CloseFile(InputFile); GroupBox3.Visible:=True; dxButton1.Visible:=False; dxButton2.Visible:=False; dxButton3.Visible:=False; dxButton4.Visible:=False; dxButton13.Visible:=False; dxButton8.Visible:=True; dxButton9.Visible:=True; xyz:=DBGrid1.DataSource.DataSet.fields[3].value; DataModule1.ADOQuery1.First; while not DataModule1.ADOQuery1.Eof do begin sqlvar:= DataModule1.ADOQuery1['stu_id']; if sqlvar=xyz then begin Edit7.Text:=DataModule1.ADOQuery1['stu_name']; MaskEdit3.Text:=DataModule1.ADOQuery1['stu_birthday']; Edit8.Text:=DataModule1.ADOQuery1['stu_id']; Edit9.Text:=DataModule1.ADOQuery1['stu_sex']; Edit10.Text:=DataModule1.ADOQuery1['stu_school']; Edit11.Text:=DataModule1.ADOQuery1['stu_class']; Edit12.Text:=DataModule1.ADOQuery1['stu_add']; MaskEdit4.Text:=DataModule1.ADOQuery1['stu_phone']; break; end; DataModule1.ADOQuery1.Next; end; end else showmessage('尚無資料,故無法修改'); end;
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-08-29 23:30:56 IP:211.23.xxx.xxx 未訂閱
你有SELECT stu_id 這一個欄位嗎? ,因為我不知你SQL為何........... @@~~飛翔在天際的精靈~~@@ 發表人 - andersonhsieh 於 2002/08/29 23:31:20
------
@@~~飛翔在天際的精靈~~@@
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-08-30 08:37:10 IP:202.145.xxx.xxx 未訂閱
你是select stu_id 不是stud_id
引言: DataModule1.ADOTable1.fieldbyname('stu_id').asstring<>''醬是對是嘛~~可是為什麼我用DataModule1.ADOQuery1.fieldbyname('stu_id').asstring<>''就不行了,就會出現錯誤訊息『Project XXX.exe raised exception class EDatabaseError whih message 'ADOQuery1:Field 'stud_id' not found.' Proccess stopped. Use Step or Run to continue.』怎麼會醬子呢~~~幫我抓抓蟲吧~~高手!
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-08-30 10:43:41 IP:61.217.xxx.xxx 未訂閱
sqlvar:='SELECT stu_No AS 場次座號,stu_name AS 姓名 ,stu_id AS 身份證字號 ,stu_birthday AS 生日,sut_Grade1 AS 學科成績,sut_Grade2 AS 術科成績,sut_TGrade AS 總成績,stu_sex AS 性別 ,stu_phone AS 電話 ,stu_school AS 就讀學校,'; sqlvar:=sqlvar 'stu_class AS 就讀年級,stu_add AS 地址 from student WHERE echelon="' ReadStr '" order by stu_No,stu_name'; DataModule1.ADOQuery1.Active:=False; DataModule1.ADOQuery1.SQL.Clear; DataModule1.ADOQuery1.SQL.Add(sqlvar); DataModule1.ADOQuery1.Active:=true; 我把SQL寫在程式中,因為一行寫不下就寫成兩行了,就是奇怪,新增就可以,到一修改就不行了~~~嗚~~~~^^||
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-08-30 10:49:54 IP:211.20.xxx.xxx 未訂閱
你所有的欄位都AS中文名稱當然用原來的名稱會抓不到囉......... @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
kenji
一般會員


發表:32
回覆:44
積分:20
註冊:2002-08-05

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-08-30 15:40:12 IP:61.217.xxx.xxx 未訂閱
sqlvar:='SELECT stu_No AS 場次座號,stu_name AS 姓名 ,stu_id AS 身份證字號,sut_Grade1 AS 學科成績,sut_Grade2 AS 術科成績,sut_TGrade AS 總成績,sut_pass AS 是否及格 from student WHERE echelon="' ReadStr '" order by stu_No'; DataModule1.ADOQuery1.Active:=False; DataModule1.ADOQuery1.SQL.Clear; DataModule1.ADOQuery1.SQL.Add(sqlvar); DataModule1.ADOQuery1.Active:=true; DataModule1.ADOQuery1.First; showmessage('OK_1'); while not DataModule1.ADOQuery1.Eof do begin showmessage('OK_2'); if DataModule1.ADOQuery1['場次座號']=copy(SearchA.Name,4,4) then begin DataModule1.ADOQuery1.Edit; DataModule1.ADOQuery1['學科成績']:=AStrCopy; DataModule1.ADOQuery1.Post; showmessage('OK_3'); break; end; DataModule1.ADOQuery1.Next; end; 為什麼就不會執行while裡的程式呢~~~~~~@@ showmessage('OK_1');會出現, 到showmessage('OK_2');showmessage('OK_3');就不會出現了,唉!怎麼連執行都不執行丫......@@
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-08-30 15:47:58 IP:211.22.xxx.xxx 未訂閱
Select 結果有資料嗎? 沒有的話, 第 2, 3 個 ShowMessage 就不會執行了。
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-08-30 16:04:54 IP:211.20.xxx.xxx 未訂閱
在while前加入這一試試看 if ADOQuery1.IsEmpty then showmessage('not data!!!!'); @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
系統時間:2024-04-27 19:07:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!