procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
begin
with ADOQuery1 do
begin
try
str:=Edit1.text;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.add( 'select name,score,scoreduan,xianshi from TABLE1 where ID= ' ' '+str+ ' ' ' ');
ADOQuery1.Open;
If ADOQuery1.Recordset.RecordCount >0 then
Edit4.Text:=fieldbyname( 'scoreduan ').asstring;
Edit3.Text:=fieldbyname( 'name ').AsString;
Edit2.Text:=fieldbyname( 'score ').AsString; Memo1.Text:=fieldbyname( 'xianshi ').asstring
else application.MessageBox( '没有找到信息 ', '提示 ',mb_ok+mb_iconinformation);
其中的TABLE1 是我自己在SQL里面本来存在的一个表.在自己的机子上能运行.但是用到别人的机子上,
别人定义的表名不一样.程序就不能运行.不可能叫别人也把表名也改成TABLE1 吧!怎么样实现无论别人怎么样命名表.都能运行程序.
我是新手,请高手指点.具体一点哈,谢谢!
var
str:string;
begin
with ADOQuery1 do
begin
try
str:=Edit1.text;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.add( 'select name,score,scoreduan,xianshi from TABLE1 where ID= ' ' '+str+ ' ' ' ');
ADOQuery1.Open;
If ADOQuery1.Recordset.RecordCount >0 then
Edit4.Text:=fieldbyname( 'scoreduan ').asstring;
Edit3.Text:=fieldbyname( 'name ').AsString;
Edit2.Text:=fieldbyname( 'score ').AsString; Memo1.Text:=fieldbyname( 'xianshi ').asstring
else application.MessageBox( '没有找到信息 ', '提示 ',mb_ok+mb_iconinformation);
其中的TABLE1 是我自己在SQL里面本来存在的一个表.在自己的机子上能运行.但是用到别人的机子上,
别人定义的表名不一样.程序就不能运行.不可能叫别人也把表名也改成TABLE1 吧!怎么样实现无论别人怎么样命名表.都能运行程序.
我是新手,请高手指点.具体一点哈,谢谢!
var
str:string;
begin
with ADOQuery1 do
begin
try
str:=Edit1.text;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.add( 'select name,score,scoreduan,xianshi from '+TableName+' where ID= ' ' '+str+ ' ' ' ');
ADOQuery1.Open;
If ADOQuery1.Recordset.RecordCount >0 then
Edit4.Text:=fieldbyname( 'scoreduan ').asstring;
Edit3.Text:=fieldbyname( 'name ').AsString;
Edit2.Text:=fieldbyname( 'score ').AsString; Memo1.Text:=fieldbyname( 'xianshi ').asstring
else application.MessageBox( '没有找到信息 ', '提示 ',mb_ok+mb_iconinformation);
这是你定义的过程吗;
还是不怎么懂.
中的TableName就是那个表名就改成
'select name,score,scoreduan,xianshi from ' + TableName + ' where ID= ' ' '+str+ ' ' ' ');
里面的.我试了下procedure MyProc(TableName:String= 'Table1 ');
var
str:string;
begin
with ADOQuery1 do
begin
try
str:=Edit1.text;
ADOQuery1.close;
ADOQuery1.SQL.clear;
ADOQuery1.SQL.add( 'select name,score,scoreduan,xianshi from '+TableName+ ' where ID= ' ' '+str+ ' ' ' ');
ADOQuery1.Open;
If ADOQuery1.Recordset.RecordCount >0 then
Edit4.Text:=fieldbyname( 'scoreduan ').asstring;
Edit3.Text:=fieldbyname( 'name ').AsString;
Edit2.Text:=fieldbyname( 'score ').AsString; Memo1.Text:=fieldbyname( 'xianshi ').asstring
else application.MessageBox( '没有找到信息 ', '提示 ',mb_ok+mb_iconinformation);
程序要报错误呀