請問下圖的錯誤訊息是什麼意思呀????? |
尚未結案
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
turboted
版主 發表:95 回覆:754 積分:452 註冊:2002-07-23 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
你好:
下面的指令你只需要下 adoquery1.Open 既可。你試試看唄
procedure TForm7.Button1Click(Sender: TObject); begin if radiobutton1.Checked=true then begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(''select * from mem_person where 姓名=:name or 身分證字號=:id''); adoquery1.Parameters.ParamByName(''name'').value:=edit1.Text; adoquery1.Parameters.ParamByName(''id'').Value:=edit2.Text; //adoquery1.ExecSQL; adoquery1.Open; end else begin adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add(''select * from mem_company where 公司名稱=:name or 統一編號=:id''); adoquery1.Parameters.ParamByName(''name'').value:=edit1.Text; adoquery1.Parameters.ParamByName(''id'').Value:=edit2.Text; //adoquery1.ExecSQL; adoquery1.Open; end; end; |
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
procedure TForm7.Button2Click(Sender: TObject); begin若你 Create TForm7 時沒用 Form7 這個變數,例如用 with TForm7.Create(Self) do 那 Form7 這個變數是空的所以你執行 Form7.Close 時會出錯。改成 Close; 或 Self.Close; 便好。 若不是這行出錯請指出那一行出錯。 |
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
我是上面及這個,兩支程式,作切換是會產生的問題???
ps:我以改了上面錯誤的地方 unit Unit5; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Mask, DBCtrls, DB, ADODB,unit4, Grids,
DBGrids,math,Buttons,unit6; type
TForm5 = class(TForm)
Pagcor1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
date1: TDateTimePicker;
date2: TDateTimePicker;
DBText2: TDBText;
DBText3: TDBText;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
DBEdit3: TDBEdit;
query1: TADOQuery;
DataSource1: TDataSource;
DBText1: TDBText;
query2: TADOQuery;
lab12: TLabel;
lab13: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
ADOQuery1: TADOQuery;
Edit2: TEdit;
Button1: TButton;
combox: TComboBox;
btndel: TBitBtn;
CheckBox1: TCheckBox;
BitBtn2: TBitBtn;
Button2: TButton;
ADOConnection1: TADOConnection;
procedure FormCreate(Sender: TObject);
procedure dbcomb1Change(Sender: TObject);
procedure date2Change(Sender: TObject);
procedure DBEdit3Enter(Sender: TObject);
procedure DBEdit3Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure comboxChange(Sender: TObject);
procedure btndelClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Edit2Click(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end; var
Form5: TForm5; implementation {$R *.dfm} procedure TForm5.FormCreate(Sender: TObject);
var
a:integer;
begin
query1.SQL.clear;
query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true');
query1.Open;
query1.First;
while not query1.Eof do
begin //抓車輛牌照的欄位,存入combbox
combox.Items.Add(query1.fieldByName('車輛牌照').AsString);
query1.Next; end;
query1.close;
a:=ceil(date2.Date-date1.Date);
if a<=0 then
begin
showmessage('請重新輸入日期');
end
else
lab12.Caption:=floattostr(a);//自動計算日期 date1.Date:=date(); //預設為當天日期
date2.Date:=date(); end; procedure TForm5.dbcomb1Change(Sender: TObject);
begin
query2.Close;
query2.SQL.Clear;
query2.SQL.Add('select * from 車輛明細檔 where 車輛牌照=:car_no');
query2.Parameters.ParamByName('car_no').Value:=combox.Text;
query2.Open;
dbtext1.Caption:=query2.Fieldbyname('廠牌').Value;
dbtext2.Caption:=query2.fieldbyname('車型').Value;
dbtext3.Caption:=query2.fieldbyname('cc').Value;
lab13.Caption:=query2.Fieldbyname('每日租金').AsString;
end; procedure TForm5.date2Change(Sender: TObject); var
a:integer; begin
a:=ceil(date2.Date-date1.Date);
if a<=0 then
begin
showmessage('請重新輸入日期');
end
else
lab12.Caption:=floattostr(a);//自動計算日期
end; procedure TForm5.DBEdit3Enter(Sender: TObject);
var days,money,discount:integer;
begin days:=strtoint(lab12.caption);
money:=strtoint(lab13.caption);
discount:=strtoint(edit1.text);
dbedit3.Text:=inttostr(days*money-discount); end; procedure TForm5.DBEdit3Exit(Sender: TObject);
var days,money,discount:integer;
begin
discount:=0;
days:=strtoint(lab12.caption);
money:=strtoint(lab13.caption);
discount:=strtoint(edit1.text);
dbedit3.Text:=inttostr(days*money-discount); end; procedure TForm5.BitBtn1Click(Sender: TObject);
begin if checkbox1.Checked=false then //一般會員新增及公司會員新增
begin
adoquery1.append;
adoquery1.FieldByName('訂購人身份證').AsString:=edit2.Text;
adoquery1.fieldbyname('汽車牌照').AsString:=combox.Text;
adoquery1.fieldbyname('訂單時間').AsDateTime:=NOW;
adoquery1.fieldbyname('租金').AsString:=DBEDIT3.Text;
adoquery1.fieldbyname('歸還日').AsDateTime:=DATE2.Date;
adoquery1.fieldbyname('出租日').AsDateTime:=DATE1.Date;
adoquery1.Post;
query2.Edit;
query2.FieldByName('是否出租').AsBoolean:=false;
query2.Post;
showmessage('新增完成');
query1.Close; //重新載入可租的車輛
query1.SQL.clear;
query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true');
query1.Open;
query1.First;
combox.Clear;
while not query1.Eof do
begin //抓車輛牌照的欄位,存入combbox
combox.Items.Add(query1.fieldByName('車輛牌照').AsString);
query1.Next;
end;
query1.close; //重新載入可租的車輛
end
else
begin //公司會員新增
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into member_order(');
adoquery1.SQL.add('訂購人身份證,汽車牌照,訂單時間,租金,歸還日,出租日,co_or_per)');
adoquery1.SQL.add(' values(:id,:car_id,:order_time,:totmoney,:backday,:eranday,:co_or_per)');
adoquery1.Parameters.ParamByName('id').Value:=edit2.Text;
adoquery1.Parameters.ParamByName('car_id').Value:=combox.Text;
adoquery1.Parameters.ParamByName('order_time').Value:=now;
adoquery1.Parameters.ParamByName('totmoney').Value:=dbedit3.Text;
adoquery1.Parameters.ParamByName('backday').DataType:=ftdatetime;//設定日期格式
adoquery1.Parameters.ParamByName('eranday').DataType:=ftdate;
adoquery1.Parameters.ParamByName('backday').value:=date2.Date;
adoquery1.Parameters.ParamByName('eranday').value:=date1.Date;
adoquery1.Parameters.ParamByName('co_or_per').Value:=checkbox1.Checked;
adoquery1.ExecSQL;
query2.Edit;
query2.FieldByName('是否出租').AsBoolean:=false;
query2.Post;
showmessage('新增完成');
query1.Close; //重新載入可租的車輛
query1.SQL.clear;
query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true');
query1.Open;
query1.First;
combox.Clear;
while not query1.Eof do
begin //抓車輛牌照的欄位,存入combbox
combox.Items.Add(query1.fieldByName('車輛牌照').AsString);
query1.Next;
end;
query1.close; //重新載入可租的車輛 end end; procedure TForm5.comboxChange(Sender: TObject);
begin
query2.Close;
query2.SQL.Clear;
query2.SQL.Add('select * from 車輛明細檔 where 車輛牌照=:car_no');
query2.Parameters.ParamByName('car_no').Value:=combox.Text;
query2.Open;
dbtext1.Caption:=query2.Fieldbyname('廠牌').Value;
dbtext2.Caption:=query2.fieldbyname('車型').Value;
dbtext3.Caption:=query2.fieldbyname('cc').Value;
lab13.Caption:=query2.Fieldbyname('每日租金').AsString;
dbedit3.Enabled:=true;
end; procedure TForm5.btndelClick(Sender: TObject);
begin
Application.CreateForm(Tfordel, fordel);
try
fordel.ShowModal;
finally
fordel.Free;
end; end; procedure TForm5.Button1Click(Sender: TObject);
begin
close;
end; procedure TForm5.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then
begin
label1.Caption:='公司統一編號';
end
else
label1.Caption:='身份証字號'; end; procedure TForm5.Edit2Click(Sender: TObject);
begin
query1.Close; //重新載入可租的車輛
query1.SQL.clear;
query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true');
query1.Open;
query1.First;
combox.Clear;
while not query1.Eof do
begin //抓車輛牌照的欄位,存入combbox
combox.Items.Add(query1.fieldByName('車輛牌照').AsString);
query1.Next;
end;
query1.close; //重新載入可租的車輛
combox.Enabled:=true;
end; end. 發表人 - miller680523 於 2003/07/03 13:59:45
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
引言: 我試的結果是這支程式及最上面那一支程式,作切換時會產生的問題??? ps:我以改了上面錯誤的地方 unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, Mask, DBCtrls, DB, ADODB,unit4, Grids, DBGrids,math,Buttons,unit6; type TForm5 = class(TForm) Pagcor1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; date1: TDateTimePicker; date2: TDateTimePicker; DBText2: TDBText; DBText3: TDBText; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; DBEdit3: TDBEdit; query1: TADOQuery; DataSource1: TDataSource; DBText1: TDBText; query2: TADOQuery; lab12: TLabel; lab13: TLabel; Edit1: TEdit; BitBtn1: TBitBtn; ADOQuery1: TADOQuery; Edit2: TEdit; Button1: TButton; combox: TComboBox; btndel: TBitBtn; CheckBox1: TCheckBox; BitBtn2: TBitBtn; Button2: TButton; ADOConnection1: TADOConnection; procedure FormCreate(Sender: TObject); procedure dbcomb1Change(Sender: TObject); procedure date2Change(Sender: TObject); procedure DBEdit3Enter(Sender: TObject); procedure DBEdit3Exit(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure comboxChange(Sender: TObject); procedure btndelClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure Edit2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form5: TForm5; implementation {$R *.dfm} procedure TForm5.FormCreate(Sender: TObject); var a:integer; begin query1.SQL.clear; query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true'); query1.Open; query1.First; while not query1.Eof do begin //抓車輛牌照的欄位,存入combbox combox.Items.Add(query1.fieldByName('車輛牌照').AsString); query1.Next; end; query1.close; a:=ceil(date2.Date-date1.Date); if a<=0 then begin showmessage('請重新輸入日期'); end else lab12.Caption:=floattostr(a);//自動計算日期 date1.Date:=date(); //預設為當天日期 date2.Date:=date(); end; procedure TForm5.dbcomb1Change(Sender: TObject); begin query2.Close; query2.SQL.Clear; query2.SQL.Add('select * from 車輛明細檔 where 車輛牌照=:car_no'); query2.Parameters.ParamByName('car_no').Value:=combox.Text; query2.Open; dbtext1.Caption:=query2.Fieldbyname('廠牌').Value; dbtext2.Caption:=query2.fieldbyname('車型').Value; dbtext3.Caption:=query2.fieldbyname('cc').Value; lab13.Caption:=query2.Fieldbyname('每日租金').AsString; end; procedure TForm5.date2Change(Sender: TObject); var a:integer; begin a:=ceil(date2.Date-date1.Date); if a<=0 then begin showmessage('請重新輸入日期'); end else lab12.Caption:=floattostr(a);//自動計算日期 end; procedure TForm5.DBEdit3Enter(Sender: TObject); var days,money,discount:integer; begin days:=strtoint(lab12.caption); money:=strtoint(lab13.caption); discount:=strtoint(edit1.text); dbedit3.Text:=inttostr(days*money-discount); end; procedure TForm5.DBEdit3Exit(Sender: TObject); var days,money,discount:integer; begin discount:=0; days:=strtoint(lab12.caption); money:=strtoint(lab13.caption); discount:=strtoint(edit1.text); dbedit3.Text:=inttostr(days*money-discount); end; procedure TForm5.BitBtn1Click(Sender: TObject); begin if checkbox1.Checked=false then //一般會員新增及公司會員新增 begin adoquery1.append; adoquery1.FieldByName('訂購人身份證').AsString:=edit2.Text; adoquery1.fieldbyname('汽車牌照').AsString:=combox.Text; adoquery1.fieldbyname('訂單時間').AsDateTime:=NOW; adoquery1.fieldbyname('租金').AsString:=DBEDIT3.Text; adoquery1.fieldbyname('歸還日').AsDateTime:=DATE2.Date; adoquery1.fieldbyname('出租日').AsDateTime:=DATE1.Date; adoquery1.Post; query2.Edit; query2.FieldByName('是否出租').AsBoolean:=false; query2.Post; showmessage('新增完成'); query1.Close; //重新載入可租的車輛 query1.SQL.clear; query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true'); query1.Open; query1.First; combox.Clear; while not query1.Eof do begin //抓車輛牌照的欄位,存入combbox combox.Items.Add(query1.fieldByName('車輛牌照').AsString); query1.Next; end; query1.close; //重新載入可租的車輛 end else begin //公司會員新增 adoquery1.Close; adoquery1.SQL.Clear; adoquery1.SQL.Add('insert into member_order('); adoquery1.SQL.add('訂購人身份證,汽車牌照,訂單時間,租金,歸還日,出租日,co_or_per)'); adoquery1.SQL.add(' values(:id,:car_id,:order_time,:totmoney,:backday,:eranday,:co_or_per)'); adoquery1.Parameters.ParamByName('id').Value:=edit2.Text; adoquery1.Parameters.ParamByName('car_id').Value:=combox.Text; adoquery1.Parameters.ParamByName('order_time').Value:=now; adoquery1.Parameters.ParamByName('totmoney').Value:=dbedit3.Text; adoquery1.Parameters.ParamByName('backday').DataType:=ftdatetime;//設定日期格式 adoquery1.Parameters.ParamByName('eranday').DataType:=ftdate; adoquery1.Parameters.ParamByName('backday').value:=date2.Date; adoquery1.Parameters.ParamByName('eranday').value:=date1.Date; adoquery1.Parameters.ParamByName('co_or_per').Value:=checkbox1.Checked; adoquery1.ExecSQL; query2.Edit; query2.FieldByName('是否出租').AsBoolean:=false; query2.Post; showmessage('新增完成'); query1.Close; //重新載入可租的車輛 query1.SQL.clear; query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true'); query1.Open; query1.First; combox.Clear; while not query1.Eof do begin //抓車輛牌照的欄位,存入combbox combox.Items.Add(query1.fieldByName('車輛牌照').AsString); query1.Next; end; query1.close; //重新載入可租的車輛 end end; procedure TForm5.comboxChange(Sender: TObject); begin query2.Close; query2.SQL.Clear; query2.SQL.Add('select * from 車輛明細檔 where 車輛牌照=:car_no'); query2.Parameters.ParamByName('car_no').Value:=combox.Text; query2.Open; dbtext1.Caption:=query2.Fieldbyname('廠牌').Value; dbtext2.Caption:=query2.fieldbyname('車型').Value; dbtext3.Caption:=query2.fieldbyname('cc').Value; lab13.Caption:=query2.Fieldbyname('每日租金').AsString; dbedit3.Enabled:=true; end; procedure TForm5.btndelClick(Sender: TObject); begin Application.CreateForm(Tfordel, fordel); try fordel.ShowModal; finally fordel.Free; end; end; procedure TForm5.Button1Click(Sender: TObject); begin close; end; procedure TForm5.CheckBox1Click(Sender: TObject); begin if checkbox1.Checked=true then begin label1.Caption:='公司統一編號'; end else label1.Caption:='身份証字號'; end; procedure TForm5.Edit2Click(Sender: TObject); begin query1.Close; //重新載入可租的車輛 query1.SQL.clear; query1.SQL.Add('select * from 車輛明細檔 where 是否出租=true'); query1.Open; query1.First; combox.Clear; while not query1.Eof do begin //抓車輛牌照的欄位,存入combbox combox.Items.Add(query1.fieldByName('車輛牌照').AsString); query1.Next; end; query1.close; //重新載入可租的車輛 combox.Enabled:=true; end; end. 發表人 - miller680523 於 2003/07/03 13:59:45 |
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
|
miller680523
一般會員 發表:47 回覆:49 積分:19 註冊:2002-10-28 發送簡訊給我 |
|
ha0009
版主 發表:16 回覆:507 積分:639 註冊:2002-03-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |