vb连接SQL数据库后制作一个登陆界面。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb连接SQL数据库后制作一个登陆界面。相关的知识,希望对你有一定的参考价值。

要求就是在form1登录不同的帐号登录后出现那个帐号人的信息在form2出现。比如
我form1中输入帐号(是一串数字)和密码的的文本框分别是text1和text2。“确认键”按钮是commar1,密码和帐号对的时候跳转到form2,在form2的的文本框text1中出现text1的帐号。在线等,急。

Option Explicit
Private Function Selectsql(SQL As String) As ADODB.Recordset '返回ADODB.Recordset对象
Dim ConnStr As String
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set Conn = New ADODB.Connection

'On Error GoTo MyErr:
ConnStr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=登录数据库用户名(默认为sa);Password=登录数据库密码;Initial Catalog=数据库名;Data Source=服务器名(默认为:MERRYCHINA)" '这是连接SQL数据库的语句
Conn.Open ConnStr
rs.CursorLocation = adUseClient
rs.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic
Set Selectsql = rs
'Exit Function
'MyErr:
'Set rs = Nothing
'Set Conn = Nothing '释放相关的系统资源
'MsgBox Err.Description, vbInformation, "系统提示" '显示出错信息
End Function
Private Sub Form_Load()
Dim SQL As String
Dim rs As ADODB.Recordset
Dim X As Long
On Error GoTo Err_box
SQL = " select * from 用户表"
Set rs = Selectsql(SQL)
If rs.RecordCount > 0 Then
rs.MoveFirst
For X = 1 To rs.RecordCount
Combo1.AddItem rs.Fields("用户名").Value
rs.MoveNext
Next X
Combo1.ListIndex = 0
End If
rs.Close
Exit Sub
Err_box:
End Sub
Private Sub Command1_Click()
Dim SQL As String
Dim rs As ADODB.Recordset
If Text1.Text = "" Then
MsgBox "请输入口令!", 16
Text1.SetFocus
Exit Sub
End If
If Combo1.Text = "" Then
MsgBox "请选择登录用户!", 16
Combo1.SetFocus
Exit Sub
End If
SQL = "SELECT * FROM 用户表 WHERE 用户名='" & Combo1.Text & "' AND 密码='" & Text1.Text & "' "
Set rs = Selectsql(SQL)
If rs.RecordCount > 0 Then
Form1.Show '想要打开的主窗体
MsgBox "恭喜兄弟,登录成功!", 64, "提示"
Unload Me
Else
MsgBox "口令不对,请重新输入!", 16, "提示"
Text1.SetFocus
End If
End Sub
'**********************************************************************
'说明:1) 在工程中引用Microsoft ActiveX Data Objects 2.8 Library ,其它版本也行如:2.0
' 2) 在窗体中加Texe1.text(文本框控件),Combo1.text(组合框控件),Command1(命令按钮)各一个
' 3) 在SQL Server2000中创建数据库,新建表"用户表",表中包含"ID,姓名,密码"等字段,然后将以上代码复制,OK搞定
4) 以上方式无需加载ADO控件,方便!

>密码和帐号对的时候跳转到form2,在form2的的文本框text1中出现text1的帐号。

这个你只要设置一个全局变量,然后对的时候把帐号放到全局变量里,然后在打开form2时显示这个全局变量到text1里就行了。追问

大神,这些代码是复制在哪里?不是放在command1中吗?有command1是不是要添加ADO控件?我是用ADO控件来做的,做图书管理系统但是只要不管哪个读者的用自己的帐号(一串数字)和密码登录了之后看到的form2都是一样的,这样一点这让我很抓狂。

追答

上面的用了一个Combo1控件放用户名,TEXT1控件放密码,COMMAND1控件 用于确认。

你如果要让我修改你的代码,你的代码总要有的吧。

参考技术A

创建一个窗体,然后方式三个输入控件,下面函数中的变量就是要输入,其中sDBName可以不需输入,默认为master:

    SQL Server服务器名

    用户名

    密码


    Public Function MSSQLServer(ByVal sDBName As String) As String
        MSSQLServer = "Driver=SQL Server;" & _
                   "Server=" & Trim(sServerName) & ";" & _
                   "Database=" & Trim(sDBName) & ";" & _
                   "Uid=" & Trim(sUserName) & ";" & _
                   "Pwd=" & Trim(sPassWord) & ";"
    End Function

    根据上面输入的值,构造谅解字符串

    点击按钮链接后执行:

    Private Cn As ADODB.Connection

    Cn.ConnectionString = MSSQLServer(sDatabase)

    如果输入正确就能链接数据库

    之后就可以进行其他数据库操作

用jsp实现网站登录界面的制作,并连接数据库

这里介绍一下怎样连接数据库,并用jsp制作一个简单的登录界面

1.首先需要搭建好环境,有Tomcateslipse,jdk等,并配置好环境变量,并安装好数据库,这里我使用的数据库是mysql数据库,并下载了一个MySQL的图形界面的软件,当上面的准备工作完成后就可以开始做了。

2.1)首先应该连接好数据库

这是数据库的图形显示界面,

 2)打开后首先创建一个mysql新连接。

 

3)然后在这个界面设置好这个连接点的名字,还有密码,密码需要记住,在以后打开mysql后连接数据库的的时候需要输入,其他的内容不需要修改,完成后点击确定即可。

 

4)在这个连接点的wzw1下新建一个表

 

5)新建表以后需要在表格中填入信息,因为我们用到的是用户的用户名和密码,所以建立userpassword

 

6)点击添加字段

 

 

7)添加字段以后然后继续填入信息

 

8)然后点击保存,在弹出的界面中输入表的名字

 

9)我新建的表名是wzw2,打开然后看到这个界面,说明,建表成功

 

这样,你就完成了mysql的对于建立登陆界面的初级设置。

3,接下来,打开eslipse,新建一个这样的工程

 

会出现如下界面

 

第一次打开需要配置好tomcat

 

然后输入工程名,点击finish即可

4.建立好工程后,从你的mysql-connector-java下找到下图所示的文件,将他复制下来

 

打开创建的工程,在文件名为WebContent下的WEBINF下的lib文件下,粘贴复制的内容,这样就可以把mysql和这个工程相连接,如下图所示

 

这样就连接成功了

 

5.然后可以新建一个jsp文件

 

输入自己想命名的文件名,点击finish

 

打开jsp文件会出现如下界面,需要将charset=ISO-8859-1改为charset=utf-8

 

jsp文件需要了解一些html的编写语法,下面是我的代码

 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


<script>
    function $(id) {
        return document.getElementById(id);    //这个是返回一个id格式命名的对象,比如说下面的用户名标签里面的id是“user”,那么返回的就是user这个对象,
        //返回的对象可以留给下面的check()方法使用
    }
    function check(){//check()方法是用来判断是否跳转到下一个jsp界面。
        var user=$("user").value;
        var psd=$("psd").value;//用user和psd获取对象的信息
        $("userinfo").innerHTML="";
        $("psdinfo").innerHTML="";//用userinfo和psdinfo来书写提示内容,例如没有输入用户名这个提示信息,没有输入密码等,
        if(user=="")//如果用户名为空,将userinfo的内容赋为如下内容,即可以显示提示信息
            {
                $("userinfo").innerHTML="用户名不能为空";
                $("user").focus();
                return false;//这时候不能跳转页面,所以返回为false
            }
        if(psd=="")
            {
                $("psdinfo").innerHTML="密码不能为空";//同上
                $("psd").focus();
                return false;
            }
        return true;
    }
    //script之中写的是Java的内容,下面的是
</script>



<title>登录</title>
</head>
<body background=file:///E:/工作目录/myJavaweb/1.jpg>

    <center>
    <form action ="loginResultre.jsp" method="post" onsubmit="return check()">//这个标签是用来引用下一个jsp文件,引用方式是通过看check(),如果是true就进入下一个界面,否则就停在这个界面。
    <table>
    <tr><td>用户名</td><td><input name="userName" id="user"><span id="userinfo"></span></td></tr>
    <tr><td>密码</td><td><input type="password"name="userword" id="psd"><span id="psdinfo"></span></td></tr>
    <tr><td><input type="submit" value="登录"></td></tr>
    </table>
    </form>
    </center>
</body>
</html>


<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登录结果</title>
</head>
<body>
    <%//这个《%是用来编译Java内容
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;//定义好链接,执行,和结果
        String driverName = "com.mysql.jdbc.Driver";
        String userName = "root";//数据库的名
        String userPwd = "199762";//数据库密码
        String dbName = "wzw1";//数据表的名字
        String url1 = "jdbc:mysql://localhost:3306/" + dbName;
        String url2 = "?user=" + userName + "&password=" + userPwd;
        String url3 = "&useUnicode=true&characterEncoding=UTF-8";//规定好字符集
        String url = url1 + url2 + url3;//将上面三条的信息总起来
        request.setCharacterEncoding("UTF-8");//规定好字符集
        Class.forName(driverName);//连接数据库
        conn = DriverManager.getConnection(url);//把信息传过来
        String sql = "select * from wzw1 where user=? and password=?";//查询的命令
        pstmt = conn.prepareStatement(sql);//执行
        String user = request.getParameter("userName");//获取上一个页面的信息
        String password = request.getParameter("userPwd");
        pstmt.setString(1, user);//对两个内容进行处理
        pstmt.setString(2, password);
        rs = pstmt.executeQuery();//查询
        if(rs.next()) {
            %><center><h1>用户 <%=rs.getString("user")%>登陆成功!</h1></center>
        <%}
        else {
            %><center><h1>用户名或密码错误!</h1></center>
        <%}
        if(rs != null) {
            rs.close();
        }
        if(pstmt != null) {
            pstmt.close();
        }
        if(conn != null) {
            conn.close();//这里哪里出现问题了,就关掉那个变量
        }
    %>
</body>
</html>

 




以上是关于vb连接SQL数据库后制作一个登陆界面。的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse通过jdbc连接数据库制作简单登陆界面

VB.net 用户登陆界面

vb程序登陆的用户名和密码在哪里找?

ERP系统无法连接数据库,登陆不上,出现错误入下图,求解

登陆界面ajax实例应用

pl sql developer登陆界面找不到oracle数据库选项 怎么办