首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

删除sql数据库中的表的有关问题

2013-10-11 
删除sql数据库中的表的问题import java.sql.*//导入java.sql包public class Conn {//创建类ConnConnectio

删除sql数据库中的表的问题



import java.sql.*;//导入java.sql包
public class Conn {//创建类Conn
Connection con;
Statement stmt;

public Connection getConnection(){//建立返回值为Connection的方法
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("数据库驱动加载成功");
} catch (ClassNotFoundException e) {
 e.printStackTrace();
}
try {
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;" +
"DatabaseName=学生库","sa","12345");
System.out.println("数据库连接成功");
stmt=con.createStatement();
stmt.executeQuery("drop table 销售表");
System.out.println("删除成功");
stmt.close();
} catch (SQLException e) {
e.printStackTrace();

return con;//按方法要求返回个Connection对象
}
public static void main(String[] args) {//主方法
Conn c = new Conn();//创建本类对象
c.getConnection();//调用连接数据库方法
}
}

第18行运行结束后,表删除成功了,可是出现异常,System.out.println("删除成功");这句不运行
提示如下:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at ceshi.Conn.getConnection(Conn.java:20)
at ceshi.Conn.main(Conn.java:42) sql drop语句
[解决办法]
stmt.executeQuery("drop table 销售表");

执行删除操作 还用executeQuery啊,不是有executeUpdate和execute吗。。。
[解决办法]
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced.
很明显的告诉你了没有返回值,照楼上的改成executeUpdate应该就没问题了
[解决办法]
executeQuery一般用于查询操作,楼主记住了
[解决办法]
executeQuery一般用于查询操作,executeUpadate用于更新,删除,修改操作,而且我们应该使用preparedStatement,这样可以防止Sql注入,提高代码的性能,以及提高代码的可读性
[解决办法]
就按照楼上提到的做,如果表明为中文的话,在项目中很容易出错,各种乱码问题会困扰你,以后一定要注意,尽量避免用中文定义数据库的表明和字段,还有在项目中不能使用中文定义类的名字等。

热点排行
Bad Request.