function 開啟DBGrid的問題 |
答題得分者是:deity
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
Fishman
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
HI fishman 你好! 在調用時報錯...請問是否用得不恰當
QRLabel19.Caption := sqlresult('select container_id from mhsodcnt where sorder_id=' QuotedStr(Form1.DBGrid1.DataSource.DataSet.Fieldbyname('sorder_id').AsString)); ''incompatible types:'string' and 'boolean'''
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: HI fishman 你好! 在調用時報錯...請問是否用得不恰當 QRLabel19.Caption := sqlresult('select container_id from mhsodcnt where sorder_id=' QuotedStr(Form1.DBGrid1.DataSource.DataSet.Fieldbyname('sorder_id').AsString)); ''incompatible types:'string' and 'boolean'''figo您好: 因为您的函数返回的Boolean值,而您所需的是string,所以会报错,您可修改如下,试试: function sqlresult(s:string):string; begin with Query1 do begin close; sql.Text := s; try open; result:=Query1.fieldbyname('container_id ').asstring; except free; end; end; end; 调用: QRLabel19.Caption :=sqlresult('select container_id from mhsodcnt where sorder_id=' QuotedStr(Form1.DBGrid1.DataSource.DataSet.Fieldbyname('sorder_id').AsString));不过好像这样子调用作用不是很大< >试试看吧< > ~~~静心养德~~~ 發表人 - deity 於 2005/01/07 16:16:44 |
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言: hi deity 你好!~~~静心养德~~~function sqlresult(s,a:string):string; begin with Query1 do begin close; sql.Text := s; try open; result:=Query1.fieldbyname('a').asstring; except free; end; end; end; 這樣定議能否成立...成是成立,不过,得注意因为您所要返回的字段(a)的字段值,是由s里给定的,两者是相互统一的。 |
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
function TForm2.sqlresult(s,a: string): string;
begin
with form1.Query2 do
begin
close;
sql.Text := s;
try
open;
按f9 出錯在這---> result := form1.Query2.fieldbyname(a).asstring;
except
free;
end;
end;
end; s := 'select * from mhsodcnt where sorder_id=' +
QuotedStr(Form1.DBGrid1.DataSource.DataSet.
Fieldbyname('sorder_id').AsString);
a :=QuotedStr('container_id');
QRLabel2.Caption := sqlresult(s,a);
a :=QuotedStr('container_id');<---是否這里出錯呢... 由於第一次寫function..有很多地方不明白.. 要deity給我改正..謝謝! |
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
引言:function TForm2.sqlresult(s,a: string): string; begin with form1.Query2 do begin close; sql.Text := s; try open; 按f9 出錯在這---> result := form1.Query2.fieldbyname(a).asstring; except free; end; end; end; s := 'select * from mhsodcnt where sorder_id=' QuotedStr(Form1.DBGrid1.DataSource.DataSet. Fieldbyname('sorder_id').AsString); a :=QuotedStr('container_id'); QRLabel2.Caption := sqlresult(s,a);a :=QuotedStr('container_id');<---是否這里出錯呢...正是这里出错,直接写a:='container_id';即可,a这里表示表里的一个字段 由於第一次寫function..有很多地方不明白..慢慢来,想信您会成功的 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |