我是一个初学者,求求各位高手帮帮我。
错在哪里了。我是一个弱者。
procedure TForm10.BitBtn1Click(Sender: TObject);
var
p2,p3:string;begin
p1:=Form9.Edit1.text;
p2:=ComboBox1.Text;
with Form10.Query2 do
begin
Query2.SQL.Clear;
Query2.SQL.Add('select * from "d:\database\class.db" as kk where kk."Examname"=:Name');
Query2.Prepare;
ParamByname('Name').value:=p1;
Query2.Open;
end;
p3:=Form10.Query2.FieldValues['Gradename'];
if
p3<>edit1.text
then
showmessage('不能插入');
end;
运行
提示:invalid variant type conversion
错在哪里了。我是一个弱者。
procedure TForm10.BitBtn1Click(Sender: TObject);
var
p2,p3:string;begin
p1:=Form9.Edit1.text;
p2:=ComboBox1.Text;
with Form10.Query2 do
begin
Query2.SQL.Clear;
Query2.SQL.Add('select * from "d:\database\class.db" as kk where kk."Examname"=:Name');
Query2.Prepare;
ParamByname('Name').value:=p1;
Query2.Open;
end;
p3:=Form10.Query2.FieldValues['Gradename'];
if
p3<>edit1.text
then
showmessage('不能插入');
end;
运行
提示:invalid variant type conversion
解决方案 »
- dll接口调用问题
- TEdit 随窗体的变化而变化?
- 统一结构化存储OLE Structured Storage)的全文检索问题!!!
- 关于搜索结果的分页
- 初学请多指教(三层):要实现无状态的问题和利用数据集更新的问题(很急)?
- 一幅BMP图,如何将白色底色透明?
- 关于在线程中使用回调函数以及C++静态成员的问题
- 使用TMediaPlayer制作视频时如何控制视频显示位置及大小?
- Edit如何显示***这样的密码显示格式
- 救救我
- (未解决....在线等待....)如何在点击Form1上的Buttom后出现Form2,在Form2不关闭的时候,可以继续在Form1上操作,也就是说使两个窗口能
- 大虾帮帮忙
Query2.SQL.Add('select * from "d:\database\class.db" as kk where kk."Examname"=:Name');
首先,你的query2应该有一个database的属性设置,可以用一个database控件来实现,
然后查询应该是这样:
Query2.SQL.Add('select * from class.db where Examname=:Name');
其他都是对的。
2、database如何设置
双击database控件,会出现一个窗口,name 随便设一个,ALIAS NAME为空,
DRIVER NAME为STANDARD,然后按如下写好就OK了
PATH=d:\database
DEFAULT DRIVER=PARADOX
ENABLE BCD=FALSE
Query2.SQL.Clear;
Query2.SQL.Add('select * from "d:\database\class.db" kk where kk.Examname=:Name');
ParamByname('Name').value:=p1;
Query2.Prepare; //所有准备完毕才能Prepare
Query2.Open;
不可以直接写地址
应该使用数据库控件来连接
ParamByName('Name').AsString := p1;
.....