ADOQuery1不能用 fieldbyname ....????? |
答題得分者是:hagar
|
kenji
一般會員 發表:32 回覆:44 積分:20 註冊:2002-08-05 發送簡訊給我 |
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 發送簡訊給我 |
|
kenji
一般會員 發表:32 回覆:44 積分:20 註冊:2002-08-05 發送簡訊給我 |
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 發送簡訊給我 |
|
delphiwww
資深會員 發表:145 回覆:363 積分:368 註冊:2002-03-13 發送簡訊給我 |
你是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 發送簡訊給我 |
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 發送簡訊給我 |
|
kenji
一般會員 發表:32 回覆:44 積分:20 註冊:2002-08-05 發送簡訊給我 |
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 發送簡訊給我 |
|
andersonhsieh
版主 發表:33 回覆:531 積分:439 註冊:2002-06-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |