然后做一个登录的窗口,这个窗口应该好做吧?创建一个窗口,加两个singlelineedit控件,一个用来输入姓名,一个用来输入密码,放到窗口上。输入密码的,把PASSWORD属性选中,就会隐藏输入的内容了。
然后在主应用的open事件中,先照常写原来PB连接数据库的字符串,当判断连接数据库成功之后,打开您先创建的这个登录窗口比如叫w_login,打开后,用户就会在您创建的输入用户名和密码的地方输入登录的ID和密码。然后点击登录按钮。
那么您就在登录按钮中,做用户名密码的校验。
这里我们可以取到用户输入的用户ID和密码,sle_user.text, sle_pwd.text。
取到之后,到用户登录表做验证。比如这么写select count(*) into li_cnt from 登录表 where 登录ID = :ls_logid and 登录密码 = :ls_pwd
然后判断if li_cnt <= 0 then等于0,即表中没有符合记录的数据,那么说明这个用户名或者密码一定输入错误了,就提示用户输入错误。否则,open(w_main)就可以了。
连接数据库:// Profile his
SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "数据库名称"
SQLCA.ServerName = "."
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
CONNECT USING SQLCA
IF SQLCA.SQLCode <>0 THEN
MessageBox('成功','数据库连接成功!')
ELSE
MessageBox('失败','数据库连接失败!')
END IF
//定义变量
String ls_id,ls_pass,ls_type
Long ll_number,i
ls_id = sle_user.Text
ls_pass = sle_pass.Text
//==============================================================================
// 判断用户名及用户密码是否正确,打开主窗口
//==============================================================================
IF ls_id = '' THEN
MessageBox('提示','用户代码为空,请重新输入!')
sle_user.SetFocus()
RETURN
END IF
SELECT count(*) INTO :ll_number FROM login Where id = :ls_id AND Password = :ls_pass
IF ll_number >0 THEN
SELECT Style INTO :ls_type FROM login Where id = :ls_id
gs_id = ls_id
gs_type = ls_type
Open(w_main)
Close(w_login)
ELSE
IF i <= 2 THEN
MessageBox('错误','密码错误,请重新输入!')
sle_pass.Text = ""
sle_pass.SetFocus()
i++
ELSE
MessageBox("警告!","输入用户口令的错误次数超过3次!")
Close(w_login)
END IF
END IF
1、ini配置文件大致格式
[db1]server = 192.168.0.1
user = sa
passsword = 123
[db2]
server = 192.168.0.2
user = sa
passsword = 123
2、下拉菜单选项,比如是db1,db2
3、在下拉菜单的selectionchanged事件中,参考选中选项,读取ini参数,进行数据库连接即可,比如
string ls_sever,ls_user,ls_pwls_sever = ProfileString("PROFILE.INI", text, "server", "")
ls_user= ProfileString("PROFILE.INI", text, "user ", "")
ls_pw= ProfileString("PROFILE.INI", text, "passsword ", "")
//然后连接数据库即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)