程序是没有出错,但运行后总提示说“无此用户”,望各位给看一下那出错了?!一个教务管理系统的登录界面,包括“用户名”(控件是Edit),“密码”(控件是Edit),“身份识别”(控件是Combobox),身份识别分为教师,学生,教务人员,在SQL sever 2000里建了一个user的表,希望在输入用户名和密码后,根据身份的不同,分别弹出不同的窗体,还用到三个控件,Database,Table,Query。
登录按钮的代码如下:
procedure TF_login.B_loginClick(Sender: TObject); //用户登录
var sql_str:string;
begin
try
Database1.Connected:=true;
Query1.SQL.Clear ;
sql_str:='select * from [USER] where ID='+''''+i_user.Text +'''';
Query1.SQL.Add( sql_str);
Query1.Open;
T_user.Open;
Except
Application.MessageBox('请与系统管理员联系。','数据库连接错误',MB_OK);
Application.Terminate; //数据库连接错误,中断程序
end;
if T_user.RecordCount=1
then
begin
if T_user['PASSWD']=i_passwd.Text then
begin
if T_user['AUTHORITY']='2' then
begin
F_login.Hide;
F_teacher.Show;
end
else
if T_user['AUTHORITY']='1' then
begin
F_login.Hide;
F_student.Show;
end
else
if T_user['AUTHORITY']='3' then
begin
F_login.Hide;
F_jw.Show;
end
else
Application.MessageBox('请选择合适的登陆软件','用户权限错误',MB_OK);
end
else
Application.MessageBox('请确认密码,注意大小写','密码不匹配',MB_OK);
end
else
Application.MessageBox('请确认用户名是否正确','无此用户',MB_OK);
end;
解决方案 »
- delphi 服务程序抓屏老是不成功
- 有没有那个API控制D3D渲染的帧数的?
- 项目外包
- delphi+sqlserver通用报表打印共享
- 急!难? 记录能否在程序运行过程中动态建立和使用?
- Delphi 7.0 开发的WebService 在 Win 2003 发布出现的问题
- 我很爽,然后很不爽,现在爽了,希望以后不要不爽,散分!!!!!!!!
- 这段代码在D5下可以,到了D6下就不正常了
- 关于如何把本地MEMO里面的内容插进去到本地数据库,谢谢,马上给分,急,急,急,菜鸟
- TSQLConnection连接Mysql数据库
- 请教一个关于记录体长度的问题?
- 关于MDI中子窗体中的一个问题(各位大侠帮帮忙!)
Query1.Last;
第二个呢不用Query1.SQL.Add( sql_str);
改成Query1.Sql.text:=sql_str
然后试试
里面有id(用户名),passwd(密码),authority(权限)
当我想在运行后,输入学生的名字就弹出学生的对应窗体
输入教师的名字弹出教师的对应窗体
学生和教师的权限是不同的
一个是1,一个是2但运行后无论输入教师的名字还是学生的名字
都会弹出对话框 “无此用户”
所以想请各位给看看是不是程序写错了?还是和SQL sever 2000的数据库有问题?
最好用IsEmpty或先First后看是不是Eof来判断数据表中是否存在要查找的数据记录
不用你费那么多精力去写的, 下载新版的那个附件.
http://bbs.2ccc.com/topic.asp?topicid=222172