就教你俩招;
1。数据库设计
字段 是char 则是固定长度
username char(10);select * from user where username='牛虻' 是找不到纪录的要
select * from user where username='牛虻 '才行;2 不要用recordcount 你可能永远只能取到-1;
eof = bof
isemperty
都可以3open; 前一定要 close;
@username varchar(34),
@passwd varchar(34);
1。数据库设计
字段 是char 则是固定长度
username char(10);select * from user where username='牛虻' 是找不到纪录的要
select * from user where username='牛虻 '才行;2 不要用recordcount 你可能永远只能取到-1;
eof = bof
isemperty
都可以3open; 前一定要 close;
@username varchar(34),
@passwd varchar(34);
解决方案 »
- delphi2010及以上版本 哪个版本更稳定些 相比d7变化更小些
- 怎么CSDN空间进不了了?
- 在oracle数据库中遇到时间查询的问题
- 怎么灵活使用dbgird,如:加checkbox来delete记录,用adoquery修改某字段
- 如何使 QReport 中 QRImage 按比例缩方???
- 如何创建快捷方式
- 请问怎么在listview的标题列(header)上画一个三角形(dbgrid也行)
- 散*分!
- 关于toolbar的显示和关闭的问题,答对一定给分
- 我的Delphi6出现一个怪现象:编译错误提示条不是出现在真正出错的地方!哪位给个理由?
- 请问:delphi的quickrep打印时如何加入edit控件的数据
- 我用SQL查询结果返回DBGRID时出现如下错误,是何原因如何解决?
parambyname('@passwd').value:=TRIM(edit2.text);
保证可以。
eof = bof
isemperty
都可以怎么用呢?
select * from user where username='牛虻 '才行;为什么??
isemperty
if sp.eof=sp.bof then 没找到
if sp.isemperty then 没找到
是char(10),还是varchar(10)?
偶不想在''里留空,那一种方法不用指定长度?/if sp.eof=sp.bof then 没找到
这句什么意思?sp的eof=sp的bof,不明白这样比较什么?
(没有记录就会出现表首bof=表尾eof情况)
用recordcount确实不太好使好象是bug
老鱼
偶这样行吗:
偶用户名查找密码
如果返回的密码等于edit中输入的密码
那么……
username varchar(20),--动态长度
passwd varchar(20))
--//看我的
CREATE PROCEDURE login
@Ret integer output,
@username varchar(20),
@passwd varchar(20)
as
select * from pass
where username = @username and passwd = @passwd
if @@ROWCOUNT = 0
set @Ret=1
else
set @ret=0
sp:TStoredProc;with sp do
begin
close;
parambyname('@username').asstring:=edit1.text;
parambyname('@passwd').asstring:=edit2.text;
ExecProc;
if parambyname('@Ret').asinteger =0 then 'ok'
else 'error'
end;
除了bug,没治了偶试试