如果编译程序有什么错误还望大家多多指正
代码执行所需数据库、架包及java源文件已上传至文件 文件名 SQl_JDBC.zip
用my Eclipse控制台操作数据库之前(SQL 2008)之前 应先引入一个架包(sqljdbc4.jar) 在架包导入之后才能通过控制台操作数据库
com.microsoft.sqlserver.jdbc.SQLServerDriver 在引入架包(sqljdbc4.jar)之后的驱动程序
jdbc:sqlserver://localhost:1433;databaseName=Pet","sa","123"
jdbc:sqlServer: 固定写法 localhost 本地数据 1433代表SQL的数据端口 databaseName=数据库名 sa为SQL数据库登录名 123为SQL数据库登录密码
package jdbchomework;
import java.util.Scanner;
//测试类文件
public class test {
//主程序入口
public static void main(String[] args) {
//实例化键盘输入
Scanner input=new Scanner(System.in);
//实例化操作类
Do a=new Do();
System.out.print("请输入用户名:");
String username=input.next();
System.out.print("请输入密码");
String password=input.next();
if(a.found(username, password)){ //输入用户名及密码与数据库中的用户名及密码作比较
System.out.println("登陆成功!欢迎你!"+username);for(;;){
System.out.println("请选择操作:")
System.out.println("1.查询管理员信息 2.查询狗狗信息 3.添加狗狗 4.删除狗狗 0.退出");
System.out.print("请选择:");
int num=input.nextInt();
switch(num){
case 1:
a.show(); //调用操作类 显示主人信息
break;
case 2:
a.show1(); //调用操作类 显示狗狗信息
break;
case 3:
System.out.print("请输入狗狗的姓名:");
String name=input.next();
System.out.print("请输入狗狗的健康值:");
int health=input.nextInt();
System.out.print("请输入与狗狗的亲密度:");
int love=input.nextInt();
System.out.print("请输入狗狗的品种:");
String strain=input.next();
a.show2(name, health, love, strain); //调用操作类 插入数据 向数据库Dog中插入数据
break;
case 4:
System.out.print("请输入编号:");
int num1=input.nextInt();
a.show3(num1); //调用操作类 删除数据 删除数据库Dog表中id为num1的数据
break;
case 0:
num=0;
break;
default:
System.out.println("输入错误");
break;
}
if(num==0){
System.out.println("系统退出,谢谢使用!!!");
break;
}
}
}else{
System.out.println("用户名或者密码错误");
}
}
}
package jdbchomework;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
//操作类文件
public class Do {
//登陆界面
public boolean found(String username,String password){
boolean find=false;
//加载驱动
try { //
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//建立连接
Connection cn=null; //声明连接对象
PreparedStatement ps=null; //操作对象
ResultSet rs=null; //结果集对象
try { //
cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Pet","sa","123");
// String sql="select * from Admin where userName='"+username+"' and pwd='"+password+"'";
String sql="select * from Admin where userName=? and pwd=?";
ps=cn.prepareStatement(sql);
ps.setString(1, username);
ps.setString(2, password);
rs=ps.executeQuery();
if(rs.next()){
find=true;
}else{
find=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
if(ps!=null){
ps.close();
}
if(cn!=null){
cn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
return find;
}
//显示主人信息
public void show(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//建立连接
Connection cn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Pet","sa","123");
// String sql="select * from Admin where userName='"+username+"' and pwd='"+password+"'";
String sql="select * from Admin ";
ps=cn.prepareStatement(sql);
rs=ps.executeQuery();
System.out.println("主人信息列表");
System.out.println("编号 姓名 元宝数");
while(rs.next()){
int num=rs.getInt(1);
String name=rs.getString(2);
int money=rs.getInt(3);
System.out.println(num+" "+name+" "+money);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(cn!=null){
cn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
//显示狗狗信息
public void show1(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//建立连接
Connection cn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try {
cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Pet","sa","123");
// String sql="select * from Admin where userName='"+username+"' and pwd='"+password+"'";
String sql="select * from Dog ";
ps=cn.prepareStatement(sql);
rs=ps.executeQuery();
System.out.println("狗狗信息列表");
System.out.println("编号 姓名 健康值 亲密度 品种");
while(rs.next()){
int num=rs.getInt(1);
String name=rs.getString(2);
int health=rs.getInt(3);
int love=rs.getInt(4);
String strain=rs.getString(5);
System.out.println(num+" "+name+" "+health+" "+love+" "+strain);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(cn!=null){
cn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
//插入数据
public void show2(String name,int health,int love, String strain ){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection cn=null;
PreparedStatement ps=null;
try {
cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Pet","sa","123");
String sql="insert Dog values(?,?,?,?)";
ps=cn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2, health);
ps.setInt(3, love);
ps.setString(4, strain);
int i=ps.executeUpdate();
if(i>0){
System.out.println("恭喜你,添加成功!!!");
}else{
System.out.println("添加失败!!!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if(ps!=null){
ps.close();
}
if(cn!=null){
cn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//删除数据
public void show3(int num){
//加载驱动
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection cn=null;
PreparedStatement ps=null;
try {
cn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Pet","sa","123");
String sql="delete Dog where id=?";
ps=cn.prepareStatement(sql);
ps.setInt(1, num);
int i=ps.executeUpdate();
if(i>0){
System.out.println("恭喜你,删除成功!!!");
}else{
System.out.println("删除失败,你输入的ID不存咋!!!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//释放连接
try {
if(ps!=null){
ps.close();
}
if(cn!=null){
cn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}