刚学Java,学到了Java和数据库的连接。
package demo5;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class homework {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//声明Connection对象
Connection con;
//驱动程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要访问的数据库名test
String url = "jdbc:mysql://localhost:3306/test";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try {
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = "INSERT INTO draw VALUES ('',random,'')";
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeUpdate(sql);
System.out.println("编号:" + "\n" + "得奖:");
String id = null;
String grade = null;
while(rs.next()){
//获取stuname这列数据
id = rs.getString("id");
//获取stuid这列数据
grade = rs.getString("grade");
//输出结果
System.out.println(id + "\t" + grade);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
}
System.out.println("--------欢迎登陆抽奖系统!--------");
while(true) {
System.out.println("---请选择操作,1抽奖 2退出系统---");
Scanner in = new Scanner(System.in); //生成scanner对象
String option = in.nextLine();//输入字符串
int num=Integer.valueOf(option);
if(num!=1) {
break;
}
int random = (int) Math.floor(Math.random() * 100);
int count=0;
int grade1=0;
int grade2=0;
int grade3=0;
if(random>95) {
count++;
System.out.println("您是第"+count+"位用户,您抽的数为"+random+"获得的为特等奖");
continue;
}
else if(random>85&&random<95) {
count++;
System.out.println("您是第"+count+"位用户,您抽的数为"+random+"获得的为一等奖");
continue;
}else if(random>75&&random<=85) {
count++;
System.out.println("您是第"+count+"位用户,您抽的数为"+random+"获得的是二等奖");
grade2++;
continue;
}
else if(random>65&&random<=75) {
count++;
System.out.println("您是第"+count+"位用户,您抽的数为"+random+"获得的是三等奖");
grade3++;
continue;
}
else {
count++;
System.out.println("您是第"+count+"位用户,您抽的数为"+random+"获得的是安慰奖");
continue;
}
}
}
}
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
类型不匹配:不能从 int 转换为 ResultSet
at demo5.homework.main(homework.java:36)
百度了下, ResultSet rs = statement.executeUpdate(sql);这行的问题,但删了Result下面的rs就好报错
你这个是插入语句啊,插入只会返回插入的条数,nit类型,你要获取数据要再查询出来
String sql = " select random from draw";
ResultSet rs = statement.executeQuery(sql);
这种