在同一个窗体的一个过程中,我用ADODataSet这样打开了一个查询,ADODataSet.Close ;
strSQL:='SELECT * FROM TB_Logon';
ADODataSet.CommandText:=strSQL;
ADODataSet.Open;之后在另外一个过程中,我又想更改查询语句,
将 strSQL:='SELECT * FROM TB_Logon'; 改成strSQL:='SELECT * FROM TB_Logon WHERE username= '+ username;
然后再打开,就报错! 是什么原因!
strSQL:='SELECT * FROM TB_Logon';
ADODataSet.CommandText:=strSQL;
ADODataSet.Open;之后在另外一个过程中,我又想更改查询语句,
将 strSQL:='SELECT * FROM TB_Logon'; 改成strSQL:='SELECT * FROM TB_Logon WHERE username= '+ username;
然后再打开,就报错! 是什么原因!
解决方案 »
- fastreport在win7上导出到excel有问题
- 一个自做的完成端口的测试,没有用线程.但是总是在GetQueuedCompletionStatus时塞住,请各位看下,给出原因
- 这里应该有很多通信行业工作的大哥大姐吧,小弟有事请大家帮帮忙(内详)
- TImage控件Textout输出的字的大小,有没有比font.size := 8 实际大小小一半的字了
- 有关在自己的函数中用组件的问题。。。。。请教。。在线等~~~~~~~~
- 重提:Access图片存取问题。
- dbgrid的问题,请高手帮忙!!!!!
- 急,如何在win2000下设自定义纸张?100分求解
- delphi 运行问题
- 请教如何消除”无效变量转换
- FastReport打印的问题
- 高分求硬盘ID号的问题
var
strSQL:string;
begin
ADODataSet.Close ;
strSQL:='SELECT * FROM TB_Logon';
ADODataSet.CommandText:=strSQL;
ADODataSet.Connection:=ADOConnection;
ADODataSet.Open;
end;function TfrmLogon.gr_CheckPassword(strUserName:string;strPsw:integer):integer;
var
//检测密码
strSQL:string;
begin
ADODataSet.Close;
strSQL:='SELECT * FROM TB_Logon WHERE LongonName = '''+ strUserName +'''' ;
ADODataSet.CommandText:=strSQL;
ADODataSet.Open;
if strPsw = ADODataSet.FieldByName('LogonPwd').Value then
gr_CheckPassword:=1
else
gr_CheckPassword:=0 ;
end;
这两个函数都在同一个窗体中,第一个是将用户遍历一次,将其列在ComboBOX中,第二个函数是为了检测密码,用户选择列表中的用户后通过checkPassword 检测用户密码。 情给个结决办法。
一直做VB,转DELPHI不久,很菜啊,大哥帮帮忙
是不是“LongonName”应改为“LogonName”?
strSQL:='SELECT * FROM TB_Logon WHERE LongonName = '''+ strUserName +'''' ;
ADODataSet.CommandText:=strSQL;
ADODataSet.Open;
if ADODataSet.EOF
//用户不存在
else
if strPsw = ADODataSet.FieldByName('LogonPwd').Value
//密码正确,登陆成功
else
//密码错误
改成
function TfrmLogon.gr_CheckPassword(var strUserName:string;strPsw:integer):integer;
试试