package 测试;
//**********************本程序用来连接数据库,出题,判断用户是否合法***********************************
import java.sql.*;
import java.util.Random;
import javax.swing.JOptionPane;
public class sql {
public static int EQ=10;//题目数量,添加题目在此修改数量
public static int NU=10;//用户数量,添加用户在此修改数量
public void getSelect(String k1,String k2,String k3)//在这里加形参!!!!!!!
{
int qq=0;//用来进行用户判断的中间值!
Connection conn = null;
String sql1,sql11,sqlA,sqlB,sqlC,sqlD,sqlzz;
String sqlA1,sqlB1,sqlC1,sqlD1,sqlzz1;
String sqlid,sqlmm,sqlid1,sqlmm1,sqlmz,sqlmz1;//登陆页面的sql语句!!!!
String ID1,US1;
String m1[]=new String[EQ];
String AA[]=new String[EQ];
String BB[]=new String[EQ];
String CC[]=new String[EQ];
String DD[]=new String[EQ];
String ZZ[]=new String[EQ];
String ID[]=new String[NU];//登陆账户
String MM[]=new String[NU];//登陆密码
String MZ[]=new String[NU];//登陆姓名
int q=0;//计算次数
int qA=0;
int qB=0;
int qC=0;
int qD=0;
int qZZ=0;
//*********************************以上为主函数初始化变量*************************************************//
//*********************************以下为JDBC的连接程序*******************************************************//
try {
Class.forName("com.mysql.jdbc.Driver"); //加载MYSQL JDBC驱动程序
//Class.forName("org.gjt.mm.mysql.Driver");
// System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();//在命令行打印异常信息在程序中出错的位置及原因。(这是白话解释,比较容易理解)”
}
try {
DriverManager.getConnection(
"jdbc:mysql://localhost:3306/(数据库名字)?useSSL=false","root","(密码)");
//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码
// System.out.println("Success connect Mysql server!");
// 一个Connection代表一个数据库连接
// 下面语句之前就要先创建javademo数据库
String url = "jdbc:mysql://localhost:3306/test20?user=root&password=990210qwe&root=true&characterEncoding=UTF8&useSSL=false";
//这里在URL最后加入&useSSL=false就不会报错
conn = DriverManager.getConnection(url);
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
Statement stmt = conn.createStatement();
//********************************不重复随机数生成*************************************************************
Random rand = new Random();
int b=0;
int a[] = new int[11];
for(int i=0; i<EQ; i++)
{
a[i]=rand.nextInt(10) + 1;
//System.out.print(a[i]);
for(int j = 0;j <i;j++)
{
if(a[i] == a[j])
{
a[i]=rand.nextInt(10)+1;
j=-1;
// System.out.println(j);
}
}
b=a[i];
//System.out.println(b);
//***********************随机出题系统*****将所有的结果先存进对应的数组中**************************************************************************88
String a1 = String.valueOf(b);
sql1="select name from test where NO=";//查询语句
sqlA="select A from test where NO=";//A
sqlB="select B from test where NO=";//B
sqlC="select C from test where NO=";//C
sqlD="select D from test where NO=";//D
sqlzz="select reply from test where NO=";//正确答案
sql11=sql1+a1;
sqlA1=sqlA+a1;
sqlB1=sqlB+a1;
sqlC1=sqlC+a1;
sqlD1=sqlD+a1;
sqlzz1=sqlzz+a1;
ResultSet result1 = stmt.executeQuery(sql11);
while (result1.next())
{
m1[q]=result1.getString(1);
}
q++;
ResultSet resultA = stmt.executeQuery(sqlA1);
while (resultA.next()) {
AA[qA]=resultA.getString(1);
}
qA++;
ResultSet resultB = stmt.executeQuery(sqlB1);
while (resultB.next()) {
BB[qB]=resultB.getString(1);
}
qB++;
ResultSet resultC = stmt.executeQuery(sqlC1);
while (resultC.next()) {
CC[qC]=resultC.getString(1);
}
qC++;
ResultSet resultD = stmt.executeQuery(sqlD1);
while (resultD.next()) {
DD[qD]=resultD.getString(1);
}
qD++;
ResultSet resultZ = stmt.executeQuery(sqlzz1);
while (resultZ.next()) {
//while 看着没啥用,但是不能删
ZZ[qZZ]=resultZ.getString(1);
}
qZZ++;
}
//**************************************随机出题结束*****************************************************************
//********************************将所有的用户名以及密码导入数组*****************************************
for(int k=0;k<NU;k++)
{
String a2 = String.valueOf(k);
sqlid1="select ID from user where NO=";
sqlid=sqlid1+a2;
ResultSet resultid = stmt.executeQuery(sqlid);
while (resultid.next()) {
//while 看着没啥用,但是不能删
ID[k]=resultid.getString(1);
}
}//ID方面的
for(int j=0;j<NU;j++)
{
String a3 = String.valueOf(j);
sqlmm1="select MM from user where NO=";
sqlmm=sqlmm1+a3;
ResultSet resultmm = stmt.executeQuery(sqlmm);
while (resultmm.next()) {
//while 看着没啥用,但是不能删
MM[j]=resultmm.getString(1);
}
}//密码方面的
for(int u1=0;u1<NU;u1++)
{
String a1=String.valueOf(u1);
sqlmz1="select name from user where NO=";
sqlmz=sqlmz1+a1;
ResultSet resultmz = stmt.executeQuery(sqlmz);
while (resultmz.next()) {
//while 看着没啥用,但是不能删
MZ[u1]=resultmz.getString(1);
}
}//用户姓名方面的
ID1=k1;
US1=k2;//为了将用户名以及ID导入做题界面
//*********************************在此处进行判断和生成GUI5*********************************************
for(int u=0;u<NU;u++)
{
if(k1.equals(ID[u]))
{
if(k2.equals(MZ[u]))
{
if(k3.equals(MM[u]))
{
qq=1;
luru222 luru = new luru222(); // 用于将判断后的用户名传输至成绩查询表中
luru.idin(k1);
GUI5 exam=new GUI5();
exam.GUI1(m1,AA,BB,CC,DD,ZZ,ID1,US1);
break;
}
}
}
}
if(qq!=1)//判断用户名正确,不正确就弹错误提示!!!!
JOptionPane.showMessageDialog( null,"用户名ID或者密码错误.", "通知", JOptionPane.ERROR_MESSAGE);
}
catch(SQLException e)
{
e.printStackTrace();
}finally{
}
}
public void getSelect2(String k1,String k2,String k3)//在这里加形参!!!!!!!
{

yeahxbf
- 粉丝: 750
最新资源
- 技工院校语文教学中信息化平台的建设探讨.docx
- 数据库存储单元在CBTC系统中的应用与研究的开题报告.docx
- 计算机组网技术实训报告.doc
- PMP证书好考吗-通过率怎么样.pdf
- 2023年管理系统中计算机应用考点版排版完毕直接打印国际贸易专业.doc
- 基于单片机的城市智能交通灯控制系统的设计.doc
- 2023年全国计算机等级考试二级C语言上机题库.doc
- 计算机一级msoffice课件教学教案.ppt
- 电力线载波通信系统.pptx
- 2023年网络管理员考试全程指导.docx
- 基于plc的交流电机控制系统设计外文翻译标准版(1).doc
- 2023年全国自学考试计算机网络安全试题及答案.doc
- linux引导和关机.ppt
- 第5章第三方物流项目管理ppt课件.ppt
- C语言第4章 选择结构 PPT.ppt
- 计算机基础计算机系统概述.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



评论11