package com.mwq;import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;public class TestInsert { private static final String DRIVERCLASS = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; private final String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_database12"; private final String username = "sa"; private final String password = "123"; private Connection conn; private Statement stmt; private PreparedStatement prpdStmt; private CallableStatement cablStmt; static {
try {
Class.forName(DRIVERCLASS);
} catch (ClassNotFoundException e) {
System.out.println("------ 在加载数据库驱动时抛出异常,内容如下:");
e.printStackTrace();
}
} // 执行静态INSERT语句
public void insertOne(String name) throws SQLException {
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
stmt.executeUpdate("insert into tb_testInsert(name) values('" + name
+ "')");// 执行静态INSERT语句
stmt.close();
conn.close();
} // 执行动态INSERT语句
public void insertMore(String[] names) throws SQLException {
conn = DriverManager.getConnection(url, username, password);
prpdStmt = conn
.prepareStatement("insert into tb_testInsert(name) values(?)");// 预处理动态INSERT语句
prpdStmt.clearBatch();// 清除Batch
for (int i = 0; i < names.length; i++) {
prpdStmt.setString(1, names[i]);// 为动态SQL语句赋值
prpdStmt.addBatch();// 向Batch中添加INSERT语句
}
prpdStmt.executeBatch(); // 批量执行Batch中的INSERT语句
prpdStmt.close();
conn.close();
} // 通过存储过程执行INSERT语句
public void insertProcedure(String[] names) throws SQLException {
conn = DriverManager.getConnection(url, username, password);
cablStmt = conn.prepareCall("{call test_insert(?)}");// 调用存储过程
cablStmt.clearBatch();
for (int i = 0; i < names.length; i++) {
cablStmt.setString(1, names[i]);
cablStmt.addBatch();
}
cablStmt.executeBatch();
cablStmt.close();
conn.close();
} // 查询所有记录
public List<Object[]> selectAll() {
List<Object[]> list = new ArrayList<Object[]>();
try {
conn = DriverManager.getConnection(url, username, password);
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from tb_testInsert");
while (rs.next()) {
Object note[] = new Object[2];
for (int i = 0; i < note.length; i++) {
note[i] = rs.getObject(i + 1);
}
list.add(note);
}
stmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("------ 在检索记录时抛出异常,内容如下:");
e.printStackTrace();
}
return list;
}
public static void main(String[] args){
TestInsert aa=new TestInsert();

aa.insertOne("小明");
aa.selectAll();
}
}
代码的是完整的,可以复制调试,帮我看看哪里错了,改正一下发上来,谢谢

解决方案 »

  1.   

    aa.insertOne("小明");
    aa.selectAll();
    这个东西try catch 一下
      

  2.   

    aa.insertOne("小明");
    这句没处理异常,编译都没法过
      

  3.   

    ------ 在加载数据库驱动时抛出异常,内容如下:
    java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.mwq.TestInsert.<clinit>(TestInsert.java:33)
    Exception in thread "main" java.lang.Error: 无法解析的编译问题:
    语法错误,将“enum Identifier”插入到完整 EnumHeaderName 中
    语法错误,将“EnumBody”插入到完整 BlockStatements 中
    成员枚举 $missing$ 不能是本地的 at com.mwq.TestInsert.main(TestInsert.java:102)
    不好意思,这是出错的提示
      

  4.   

    public static void main(String[] args){
    static {
    try {
    Class.forName(DRIVERCLASS);
    } catch (ClassNotFoundException e) {
    System.out.println("------ 在加载数据库驱动时抛出异常,内容如下:");
    e.printStackTrace();
    }
    }
    TestInsert aa=new TestInsert();

    aa.insertOne("毛");
    aa.selectAll();
    }}
      

  5.   

    你的程序都没编译通过,你运行能不报错吗?
    try{}catch(Exception e){}