sql..:((50分)

  • 主题发起人 主题发起人 柯侬常华
  • 开始时间 开始时间

柯侬常华

Unregistered / Unconfirmed
GUEST, unregistred user!
with sql do begin
clear;
add('select * from tx');
add('where name=:name pass=:pass');
parameters.ParamByName('name').Value:=edit1.Text;
parameters.ParamByName('pass').Value:=edit2.Text;
end;
open;
---------
我这个有点问题,请各位帮我啊。。。。。。。:(


 
'where name=:name and pass=:pass
少and
 
with sql do begin
clear;
add('select * from tx');
add('where name=:name and pass=:pass');
^^^^^^^
parameters.ParamByName('name').Value:=edit1.Text;
parameters.ParamByName('pass').Value:=edit2.Text;
end;
open;
 
我现在才发现自己好蠢啊。。。其实,平时总用SQL查东东的,现在怎么会出这样的笑话。:(我不活了!!!
 
还是不行呀。我运行时,它说:“至少一个参数,未指定值。”为什么呀??
 
都付值了吗?
 
楼上的把问题解决了

parameters.ParamByName('name').Value:=edit1.Text;
parameters.ParamByName('pass').Value:=edit2.Text;
把 .Value 改成 .asstring 试试~
 
Open在End之前吧?
 
付了。我怀疑是add('where name=:name and pass=:pass');的问题。

我显示了SQL的内容:select * from tx where name=:name and pass=:pass
怎么会这样???
 
parameters.ParamByName('name').Value:=edit1.Text;
parameters.ParamByName('pass').Value:=edit2.Text
这两句放到END后面;
 
with query1 do
begin
with sql do
begin
clear;
add('select * from tx');
add('where name=:name and pass=:pass');
end;

parameters.ParamByName('name').asstring:=edit1.Text;
parameters.ParamByName('pass').asstring:=edit2.Text;
open;
end;
 
把那两条放到后面也不行呀。也还是说:至少一个参数,未指定值!
:([:(]
 
把 parameters.ParamByName('name').asstring:=edit1.Text;
parameters.ParamByName('pass').asstring:=edit2.Text;
改为ParamByName('name').asstring:=edit1.Text;
ParamByName('pass').asstring:=edit2.Text;

 
这样不行? 不可能吧!看仔细噢!
with query1 do
begin
with sql do
begin
clear;
add('select * from tx ');
add(' where name=:name and pass=:pass');
end;

parameters.ParamByName('name').asstring:=edit1.Text;
parameters.ParamByName('pass').asstring:=edit2.Text;
open;
end;
 
这样不行? 不可能吧!看仔细噢!
with query1 do
begin
with sql do
begin
clear;
add('select * from tx ');
add(' where name=:name and pass=:pass');
end;

ParamByName('name').asstring:=edit1.Text;
ParamByName('pass').asstring:=edit2.Text;
open;
end;
 
我用的是ADOQUERY可能不能用asstring。。[:(]
 
只写这样不能编译。
ParamByName('name').asstring:=edit1.Text;
ParamByName('pass').asstring:=edit2.Text;
 
那你就这样写:
ParamByName('name').Datatype:=ftstring;
ParamByName('name').asstring:=edit1.Text;
ParamByName('pass').Datatype:=ftstring;
ParamByName('pass').asstring:=edit2.Text;
 
不行,不行。这些我都试过了,全不灵。:(
我想问题在这呢。
add(' where name=:name and pass=:pass');
 
注意:name是SQL的保留字,请将字段名name改为其他试试。
 

Similar threads

A
回复
0
查看
949
Andreas Hausladen
A
A
回复
0
查看
831
Andreas Hausladen
A
I
回复
0
查看
423
import
I
I
回复
0
查看
943
import
I
后退
顶部