JDBC连接sql server数据库及操作数据库的一些问题
有关数据库的设置再次就不一一列举,遇到问题可以百度一下。
我在连接数据库时也遇到了许多错误,经过一步步修改,终于成功的完成了对数据库的连接和操作。
下面是比较完整的代码,既包含了连接数据库,也包含了对数据库的操作。话不多说,直接上代码。嘿嘿
import java.sql.*;
public class Main {
public static void main(String [] args)
{
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=sharing";//这里是写你的数据库名字。
String userName="sa";//登陆数据库的名称(默认为sa)
String userPwd="ssssss";//登陆数据库的密码
try
{
Class.forName(driverName);
System.out.println("加载驱动成功!");
}catch(Exception e){
e.printStackTrace();
System.out.println("加载驱动失败!");
}
try{
Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
System.out.println("连接数据库成功!");
//产生多个结果集,用于返回多个ResultSet对象。对于下面操作做准备
Statement stmt = dbConn.createStatement();
Statement stmt1 = dbConn.createStatement();
Statement stmt2 = dbConn.createStatement();
// 创建SQL命令对象
// 创建表
System.out.println("开始创建表");
String query1 = "drop table TABLE1";//先删除表TABLE1,防止表已经存在
// 创建表SQL语句
String query = "create table TABLE1(ID NCHAR(4) PRIMARY KEY NOT NULL,NAME NCHAR(10),TEL NCHAR(11))";
stmt.executeUpdate(query1);// 执行SQL命令对象
stmt.executeUpdate(query);// 执行SQL命令对象
System.out.println("表创建成功");
// 输入数据
System.out.println("开始插入数据");
String a1 = "INSERT INTO TABLE1 VALUES('0001','李华','13933209898')";
// 插入数据SQL语句
String a2 = "INSERT INTO TABLE1 VALUES('0002','王丽','13698760987')";
String a3 = "INSERT INTO TABLE1 VALUES('0003','张哥','1786308096')";
stmt.executeUpdate(a1);// 执行SQL命令对象
stmt.executeUpdate(a2);
stmt.executeUpdate(a3);
System.out.println("插入数据成功");
// 读取数据
System.out.println("开始读取数据");
ResultSet rs = stmt.executeQuery("SELECT * FROM TABLE1");// 返回SQL语句查询结果集(集合)
// 循环输出每一条记录
while (rs.next()) {
// 输出每个字段
System.out.println(rs.getString("ID") + "\t"
+ rs.getString("NAME"));
}
System.out.println("读取完毕");
stmt.executeUpdate("update dbo.TABLE1 set NAME='刘丽' where ID='0002'"); // 如果后面不跟where条件,则更新所有列的value字段
System.out.println("修改数据完毕");
ResultSet rs1 = stmt1.executeQuery("SELECT * FROM TABLE1");// 返回SQL语句查询结果集(集合)
// 循环输出每一条记录
while (rs1.next()) {
// 输出每个字段
System.out.println(rs1.getString("ID") + "\t"
+ rs1.getString("NAME"));
}
String sql = "delete from TABLE1 where id='0001'";
stmt.executeUpdate(sql);
System.out.println("删除数据完毕");
ResultSet rs2 = stmt2.executeQuery("SELECT * FROM TABLE1");// 返回SQL语句查询结果集(集合)
// 循环输出每一条记录
while (rs2.next()) {
// 输出每个字段
System.out.println(rs2.getString("ID") + "\t"
+ rs2.getString("NAME"));
//dbConn.close();// 关闭数据库连接
}
}catch(Exception e)
{
e.printStackTrace();
System.out.print("SQL Server连接失败!");
System.exit(0);
}
}
}
代码运行如下: