JAVA JDBC中的新手问题 求帮忙

布兰顿罗伊 2013-11-21 08:51:45
import java.sql.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.*;
//定义一个主界面的类
public class zhujiemian {

JFrame JJ=new JFrame();
JPanel JP=new JPanel();
JTextField user, password;




public void zong() {

JJ.setVisible(true);
JJ.add(JP);
JJ.setTitle("QQ登录程序");
JJ.setSize(500,300);
JJ.setLocation(200,100);
}
public void denglu() {
JP.setLayout(null);
JButton JB1=new JButton("登录");
JButton JB2=new JButton("退出");
JB1.setBounds(100,150,90,28);
JB2.setBounds(300,150,90,28);
JP.add(JB1);
JP.add(JB2);
JB1.addMouseListener(new JB1Listener());
JB2.addMouseListener(new JB2Listener());
}

class JB1Listener implements MouseListener {
JFrame JF=new JFrame();
JPanel JP=new JPanel();
public void mouseReleased(MouseEvent e) {

int i;
shujuku(); //链接数据库
i=validate();//测试是否相等

//if (JT1.getText().equals("name")&&JT2.getText().equals("pw"))

JF.setVisible(true);
JF.setTitle("QQ登录程序");
JF.setSize(200,400);
JF.setLocation(1150,30);
JJ.setVisible(false);
JF.add(JP);
JP.setLayout(null);
JButton jb1=new JButton("空间 ");
jb1.setBounds(80,60,30,28);
JP.add(jb1);
JButton jb2=new JButton("微博 ");
jb2.setBounds(130,60,30,28);
JP.add(jb2);
JLabel jb=new JLabel("未央不见");
jb.setBounds(90,0,70,70);
JP.add(jb);
}
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}


}

class JB2Listener implements MouseListener {

public void mouseReleased(MouseEvent e) {
System.exit(0);
}
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}
}
public void Label() {
JLabel JL1=new JLabel("QQ号码");
JL1.setBounds(100,28,50,50);
user=new JTextField(10);
user.setBounds(165,40,150,25);
JLabel JL2=new JLabel(" 密码");
JL2.setBounds(100,68,50,50);
password=new JTextField(10);
password.setBounds(165,80,150,25);
JP.add(JL1);
JP.add(JL2);
JP.add(user);
JP.add(password);
}







//判断 user 与 password是否在数据库中,并匹配user与password
public int validate(){


return 0;
}


//链接到数据库

public void shujuku(){



}


public static void main(String args[]) {
zhujiemian z=new zhujiemian();


z.Label();
z.zong();
z.denglu();



}
}
就是在validate()这个方法里面 计算user与pssword是否匹配;
直接说算法就好 。然后我自己写代码。谢谢啦!!!!!
...全文
235 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
WayneXuan 2013-11-22
  • 打赏
  • 举报
回复
你问的只是用jdbc查表的方法,跟算法没什么关系

int count=0;//为什么validate要返回int?
class.forName("");//加载驱动类
Connection con=DriverManager.getConnection("","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
while(rs.next()){
    //有结果
    count++;
}
con.close();
return count;
帝瓜 2013-11-22
  • 打赏
  • 举报
回复
只是一个判断啊。。通过帐号名查询密码,比对下就行啊。。。哪来的什么算法
teemai 2013-11-22
  • 打赏
  • 举报
回复
楼主会sql吗?就是条件查询会的话那就没问题了啊。和算法没关系
"select user from table where user="+user+" and passowrd="+password
WayneXuan 2013-11-22
  • 打赏
  • 举报
回复

//最好把validate的返回值改为boolean
public boolean validate(){
    boolean result=false;
    class.forName("");//加载驱动类
    Connection con=DriverManager.getConnection("","","");
    Statement stmt=con.createStatement();
    ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
    if(rs.next()){
        //有结果
        result=true;
    }
    con.close();
    return result;
}
WayneXuan 2013-11-22
  • 打赏
  • 举报
回复
引用 8 楼 u012840931 的回复:
最后这个count是个什么用的?我想在鼠标事件那 做一个判断,就是如果user与password匹配就返回1,否则返回0
你以前学过C/C++的吧?java里一般直接用boolean,不用1表示真
布兰顿罗伊 2013-11-22
  • 打赏
  • 举报
回复
引用 2 楼 waynexuan 的回复:
你问的只是用jdbc查表的方法,跟算法没什么关系

int count=0;//为什么validate要返回int?
class.forName("");//加载驱动类
Connection con=DriverManager.getConnection("","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
while(rs.next()){
    //有结果
    count++;
}
con.close();
return count;
最后这个count是个什么用的?我想在鼠标事件那 做一个判断,就是如果user与password匹配就返回1,否则返回0
布兰顿罗伊 2013-11-22
  • 打赏
  • 举报
回复
引用 2 楼 waynexuan 的回复:
你问的只是用jdbc查表的方法,跟算法没什么关系

int count=0;//为什么validate要返回int?
class.forName("");//加载驱动类
Connection con=DriverManager.getConnection("","","");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select user from table where user="+user+" and passowrd="+password);
while(rs.next()){
    //有结果
    count++;
}
con.close();
return count;
第5句话是什么意思啊?
xiaomm627 2013-11-22
  • 打赏
  • 举报
回复

 select count(*) as count from table where username = ? and password = ? 
查询出来数量是否为1,为1匹配,否则不匹配
jdgdf566 2013-11-21
  • 打赏
  • 举报
回复
import com.mysql.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author Administrator
 */
public abstract class Database {

    private static Connection connection = null;

    /**
     * 连接数据库
     */
    public static Connection getConnect() throws SQLException, Exception {
        if (connection != null && connection.isValid(1)) {
            return connection;
        }
        // URL指向要访问的数据库名jdbc_test
        String url = Config.getConfig("database.url");
        // MySQL配置时的用户名
        String user = Config.getConfig("database.user");
        // Java连接MySQL配置时的密码
        String password = Config.getConfig("database.password");
        //这句可以没有
        DriverManager.registerDriver(new Driver());
        // 连接数据库
        connection = DriverManager.getConnection(url, user, password);
        connection.setAutoCommit(true);
        //设置数据库的字符集
        Statement statement = connection.createStatement();
        statement.execute("SET character_set_client=`" + Config.getConfig("database.character_set_client") + "`");
        statement.execute("SET character_set_connection=`" + Config.getConfig("database.character_set_connection") + "`");
        statement.execute("SET character_set_results=`" + Config.getConfig("database.character_set_results") + "`");
        statement.close();
        //
        return connection;
    }
}

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import Database;
        PreparedStatement ps = Database.getConnect().prepareStatement("select * from student order by id asc");
        // 结果集
        ResultSet resultSet = ps.executeQuery();
        System.out.println("-----------------");
        System.out.println("执行结果如下所示:");
        System.out.println("-----------------");
        System.out.println("id" + "\t" + "content");
        System.out.println("-----------------");
        while (resultSet.next()) {
            // 选择sno,sname两列数据
            System.out.println(resultSet.getString("id") + "\t" + resultSet.getString("content"));
        }
源码链接: https://pan.quark.cn/s/d5c270d5abd6 依据所提供的文档资料,可以掌握若干有关VirtualBox COM对象获取无法成功的问题及其应对措施。 VirtualBox作为一款广受欢迎的开源虚拟化工具,能够让用户在当前运行的操作系统上建立及执行虚拟环境。 COM(Component Object Model)对象是应用于Windows平台的一种技术,旨在促成软件组件之间的交互。 若获取VirtualBox的COM对象遭遇失败,则意味着在与VirtualBox进行交互时遇到了某些障碍,这或许源于注册表设置存在偏差或某些组件未能正确部署。 此类问题的显现通常与安装Genymotion前需先安装VirtualBox有关,但在安装VirtualBox后却遭遇COM对象获取失败的情形。 这种情况可能会干扰VirtualBox的正常运作,使用户无法进行虚拟机的管理或构建。 解决方案包括若干步骤,其核心在于对Windows注册表的编辑操作。 注册表是Windows操作系统用于存储配置数据的数据库,其包含了系统软件与硬件的配置详情,亦涵盖了COM对象的相关信息。 一旦COM对象的注册资料出现异常,系统便无法准确加载及执行相应的组件。 根据文件所载信息,处理方案包含以下环节:1. 在Windows环境通过“regedit”指令启动注册表编辑器。 此步骤涉及在开始菜单的运行窗口键入指令并执行。 2. 随后,依照文件的指引,需要在注册数据库定位特定的键值路径。 这些路径涵盖: - HKEY_CLASSES_ROOT\CLSID\{***-0000-0000-C000-***}\InprocServer32 - HKEY_CLASSES_ROOT\CLSID...
内容概要:本文介绍了一种基于局部高斯分布拟合能量驱动的活动轮廓模型,用于图像分割任务。该方法属于区域型主动轮廓模型,通过变分水平集方法实现轮廓演化,能够有效分割具有复杂边界或弱边界的图像目标。其核心思想是利用图像局部区域的灰度统计特性,构建基于高斯分布的能量函数,使轮廓在演化过程对噪声具有较强鲁棒性,并能准确捕捉目标边缘。该模型特别适用于不均匀光照、低对比度等挑战性图像的分割场景,Matlab代码实现便于科研人员理解算法细节并进行二次开发。; 适合人群:具备一定图像处理基础,从事计算机视觉、医学图像分析、遥感影像处理等领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统边缘检测方法在噪声干扰下分割效果差的问题;②实现对灰度不均、边界模糊图像的精确分割;③为后续的图像识别、目标测量等任务提供高质量的分割结果;④作为学习水平集方法与主动轮廓模型的经典案例进行教学与研究。; 阅读建议:建议读者结合Matlab代码逐步调试运行,观察水平集函数的演化过程,深入理解能量泛函构造、梯度下降法解及水平集更新机制,同时可尝试在不同类型的图像上测试算法性能并进行参数调优。

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧