如何去处登陆时的密码输入框(30分)

  • 主题发起人 主题发起人 lvzhijong
  • 开始时间 开始时间
L

lvzhijong

Unregistered / Unconfirmed
GUEST, unregistred user!
后台数据库是sqlserver7,键了一个用户,没有密码
用sql语句连数据库,读些纪录
每次运行程序都要求输入用户名、密码
请问如何去掉这个登陆框呢?
多谢
 
放一个database组件,设置loginprompt属性为true或false(我记不清了)
然后双击paramters属性,在设置框力输入以下类容:
uid=""
pwd=""
如果不行的化,就用username和pass word
 
补充一下,
用了database以后,query空间的dataalias就要指向database
的databasename属性,由database指向你的数据库别名。
 

if use ADO, set AdoConnection.LoginPrompt := False;
 
在database1的onlogin事件中:
database1.params.add('username=xxx');
database1.params.add('password=yyy');

——xxx和yyy是帐号和密码。
 
这是我第XXX次看到同样的问题了
 
首先应当将内置的用户登陆信息赋值给database的相应参数:
database1.Params.values['USER NAME']:='***';
database1.params.values['PASSWORD']:='***';
说明: 前者***为用户名,后者为相应的用户密码.
若不需要用户名和密码的数据库驱动,可将这两项设为空;
另外还应将loginprompt的属性设置为false(即:database1.loginprompt:=false;)


 
法1。database1.loginprompt:=false;
database1.params.values['username']:='此处输用户名';
database1.params.values['password']:='此处输密码';

法2。在database的onlogin事件中:
LoginParams.Values['User Name']:='此处输用户名';
LoginParams.values['password']:='此处输密码';

法3。设database的keepconnection属性为true;
这样只需在第一次登陆时输一次,安全性较好!
1,2若改了密码,就的改代码,不如这个好。
 
各位如何将database和tquery关联呢?
怎么总是提示连不上呢,即执行except中的语句
我是这样做的:
dtbase.LoginPrompt:=false;
dtbase.Params.Values['username']:='sys';
dtbase.Params.Values['password']:='';
dtbase.DatabaseName:='mydb';
dtbase.AliasName:='qur';
qur.DatabaseName:='mydb';
qur.sql.Clear;
qur.SQL.Add('select * from qururl');
try
qur.ExecSQL;
qur.open;
except
showmessage('cannot connect');
end;
 
to 小猪:
没找到query的dataalias属性
 
放一个database组件,设置loginprompt属性为false然后
双击paramters属性,在设置框力输入以下类容:
username=""
password=""
一般我自己做login都是这样做的:
database.Params.items.clear
database.Params.items.add('username='+数据来源)
database.Params.items.add('password='+数据来源)
没找到query的dataalias属性的原因是你没有在database正确的设置好数据库名
如果是调用其他unit的请用uses包含那个单元
 

dtbase.LoginPrompt:=false;
dtbase.Params.Values['username']:='sys';
dtbase.Params.Values['password']:='';
dtbase.DatabaseName:='mydb';
dtbase.AliasName:='qur';
dtbase.Open;//new
qur.DatabaseName:='mydb';
qur.sql.Clear;
qur.SQL.Add('select * from qururl');
try
// qur.ExecSQL; //no need
qur.open;
except
showmessage('cannot connect');
end;
 
我记错了贝,就是连接数据库别名的那个属性
 
to hqiang:
还是出错阿,仍是连不上数据库
用database怎么连不上啊?多谢
如下:
dtbase.LoginPrompt:=false;
dtbase.Params.Values['username']:='sys';
dtbase.Params.Values['password']:='';
dtbase.DatabaseName:='mydb'; //这个是sqlserver中的数据库名
dtbase.AliasName:='qur'; //这个是odbc定的别名
try
dtbase.Open;
except
showmessage('error');
end;
 
哈!
dtbase.LoginPrompt:=false;
dtbase.Params.Values['username']:='你的用户名'
dtbase.Params.Values['password']:='你的密码'

以下代码应在设计时完成,在控件的属性栏设置就可以
dtbase.DatabaseName:='mydb'; //这个是sqlserver中的数据库名
如果这个数据库名是你自己打进去的话
你的databse设置保证有问题,设置对了就可以在属性栏里直接选取的!
dtbase.AliasName:='qur'; //这个是odbc定的别名
别名可以不设置,delphi的数据库组件有databasename的属性可以继承的
还有打开数据库用tdbase.connected:=true

哦还有delphi用bde就可以了,没必要用odbc!(不过用了也没影响的)
 
to hqiang:
以下代码应在设计时完成,在控件的属性栏设置就可以
dtbase.DatabaseName:='mydb'; //这个是sqlserver中的数据库名
如果这个数据库名是你自己打进去的话
你的databse设置保证有问题,设置对了就可以在属性栏里直接选取的!
我就是自己打进去的,不知道哪设置错了,请执教
就是在远程有个数据库,本地用odbc数据源,然后就如上程序
不懂啊!
 
不好意思,我和其他语言混淆了!上面的说法有些错误
如果你是使用odbc的话
delphi会自动在bde中配置你的数据库
你可以打开delphi目录中的bde administrator进行进一步配置
下面进入正题:
输入你的aliasname就是你在bde中看到的一般就是odbc的别名
然后再输入你的databasename,就是你的数据库名(注意是完整的数据库名哦)
drivename空着
设置loginprompt为false
然后再query的databasename中选取你的数据库名
其它的就一样了
还不行的把错误提示告知,我们一起切磋好了!
 
使用bde administrator建一个数据库别名,在设database.loginprompt ,database.aliasname,
database.params,database.databasename应该就可以了。
 
多谢大家!
 
后退
顶部