vb登陆界面用户名调用数据库如何实现?

vb登陆界面用户名调用数据库如何实现?,第1张

使用Access 2003来建立一个新的空数据库,命名为db1,存储路径为D:\db1,在db1中创建一张新的表格,命名为用户信息表,并设定用户信息表中有两个字段,分别为用户名称和用户口令,注意它们的数据类型均为文本格式,一定要注意,不然到后面代码就会出错,而且极难查错。 完成设计视图之后输入一条记录,记录中的用户名属性值为Angel,密码为123。输入一条记录的目的是用于检验登录代码是否正确以及起到一点演示效果。
下面打开VB60,建立一个新的工程,命名为工程1,打开就有一个新的窗体Form1。布置界面如图所示,当然这只是个示例,你可以有更好的界面设计。图中,管理员名称和口令是两个文本框,名称分别为TxtUserName 和TxtPassword,登录和取消为两个按钮,名称分别为CmdLogin和CmdCancel。
准备工作完成之后,就可以添加代码了。代码如下,我将逐行注释。
取消按钮最为简单,代码如下:
Private Sub CmdCancel_Click()
'//结束
End
End Sub
下面添加登录按钮的代码。
Private Sub CmdLogin_Click()
Dim UserName As String

Dim PassWord As String
Dim conn As New ADODBConnection '定义新的连接
Dim rs As New ADODBRecordset '定义新的记录集

Dim StrSQL As String '定义字符串StrSQL

connOpen "Provider=MicrosoftJetOLEDB40;Data Source=D:\db1mdb" '打开连接,指定连接路径和支持

UserName = Trim(TxtUserNameText) '将文本框内的值赋给定义好的变量,trim为类型转换函数
PassWord = Trim(TxtPasswordText)
If UserName = "" Or PassWord = "" Then '如果输入的用户名和密码为空则
MsgBox "对不起,用户或密码不能为空!请重新输入!!", vbCritical, "错误"
ElseIf UserName <> Empty And PassWord <> Empty Then '否则如果用户名与密码都不为空则Cnum自加1,Cnum为窗体载入时添加数字变量,用于记录错误登录次数

Cnum = Cnum + 1

StrSQL = "select from 用户信息表 where 用户名称= '" & UserName & "'and 用户口令 ='" & PassWord & "'"
'从用户信息表中查询用户名称和用户口令两个字段并获得属性值,为下面的判断语句做准备
rsOpen StrSQL, conn, adOpenKeyset, adLockPessimistic '//打开记录集,可以用数字代替

If rsEOF = True Then '此句为判断的核心语句,EOF的返回值表示为最后一行的后一行,和BOF类似,返回值为TRUE,则表示表中不存在这一行记录,由此判断密码是否与表中记录相一致,从而达到验证的目的。
MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误"
TxtUserNameText = "" '置文本框为空
TxtPasswordText = ""
TxtUserNameSetFocus
rsClose '每次打开记录完成后需要注意及时关闭,不然下次使用时会出错
If Cnum >= 3 Then '判断输入错误次数,以提高系统的安全性能
MsgBox "对不起,您已经多次失败,无权 *** 作本系统!", vbCritical, "无权限"
Unload Me
Exit Sub
End If
Else '登陆成功,以下为权限验证
Form2Show
Unload Me
End if
End if

End Sub
Private Sub Form_Load()
'//加载主窗时给文本框赋值
Cnum = 0

你是想学习建立这样的一个网页功能呢,还是只是想学习一下数据库的开发流程呢?如果是开发网页功能的话 你在我网上随便搜一下,登录程序是很常见的,如果想了解数据库的开发过程,就应该对需求进行分析,并且画出E-R图,然后最后才是开发数据库。

jsp登录注册页面都需要查询和插入数据库的,还要检查注册信息存不存在。
完整例子如下:
用户信息的bean:
package chen;

public class UserBean
{
private String userid;
private String password;

public void setUserId(String userid)
{
thisuserid=userid;
}
public void setPassword(String password)

{
thispassword=password;
}
public String getUserId()
{
return thisuserid;
}
public String getPassword()
{
return thispassword;
}

}
提交数据库的bean:
package chen;
import commysqljdbcDriver;
import javasql;
public class UserRegister
{
private UserBean userBean;
private Connection con;
//获得数据库连接。
public UserRegister()
{

String url="jdbc:mysql://localhost/"+"chao"+"user="+"root"+"&password="+"850629";

try
{

ClassforName("commysqljdbcDriver")newInstance();
con = DriverManagergetConnection(url);
}
catch(Exception e)
{
eprintStackTrace();
}

}
//设置待注册的用户信息。
public void setUserBean(UserBean userBean)
{
thisuserBean=userBean;
}
//进行注册
public void regist() throws Exception
{
String reg="insert into userinfo(userid,password) values(,)";

try
{
PreparedStatement pstmt=conprepareStatement(reg);
pstmtsetString(1,userBeangetUserId());
pstmtsetString(2,userBeangetPassword());
pstmtexecuteUpdate();
}
catch(Exception e)
{
eprintStackTrace();
throw e;
}
}
}
提交注册数据进入数据库:
<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312"
import="chen" %>
<jsp:useBean id="userBean" class="chenUserBean" scope="request">
<jsp:setProperty name="userBean" property=""/>
</jsp:useBean>
<jsp:useBean id="regist" class="chenUserRegister" scope="request"/>
<html>
<head>
<title> 用户信息注册页面</title>
<meta >mysql_connect('数据库地址','数据库用户名','密码')
mysql用户名
就是你登录mysql用的名字你本地安装的话默认用户名是root,密码就是登录mysql时用的密码。。。。数据库名是你在mysql里(比较用phpmyadmin登录后)建的库名字。。。

先取得登录页面的用户名跟密码!
再用
SQL语句
进行查询!
select

form
表名
where
数据库中的用户名字段=取得登录页面的用户名
select

form
表名
where
数据库中的密码字段=取得登录页面的密码
再把这两个SQL语句传过去!
用COMMAND的ExecuteNonQuery方法执行!得到一个数!再进行判断

建议楼主检查一下sql对不对,主要看你数据库有没有sql语句的字段或者表
还有,你的密码是经过md5处理的,所以,你看你在做注册用户的时候,密码是不是也经过了md5处理,没有的话,系统会判断2个密码不相等,尽管他们的值是相同的(MD5不懂的话去搜搜,大把大把的),我估计是你注册的时候密码没处理~,你把$password = MD5($_POST['password']);的MD5去掉试试
if($check_query){
$_SESSION['username'] = $username;
echo $username,' 欢迎你!进入 <a href="myphp">用户中心</a><br />';
exit;
} else {
exit('登录失败!点击此处 <a href="javascript:historyback(-1);">返回</a> 重试');
}
$_SESSION['username'] = $username 是把用户名的值赋给一个叫username的session(这属于会话,不懂去搜搜看)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/10247340.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存