求助!!使用Commons DbUtils 向SQLserver2008中的表插入数据出错。

hujian07013638 2012-12-06 11:01:49
小弟刚开始学Java,各位大哥大姐指点一二,不胜感谢!!!
注:已在SQLSERVER2008中创建相应的表。
代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;

public class QueryRunnerTest{
private static String URL="jdbc:sqlserver://localhost:1433;databaseName=mr";
private static String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String USERNAME="sa";
private static String PASSWORD="07013638";
private static Connection conn;

public static Connection getConnection(){
try {
DbUtils.loadDriver(DRIVER);
conn=DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}

public static int operate(String sql, Object...params){
int result=0;
QueryRunner runner=new QueryRunner();
try {
result=runner.update(getConnection(), sql, params);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DbUtils.closeQuietly(conn);
}
return result;
}

public static void main(String[] args){
String sql="insert users(username, password) values(?,?)";
Object[] params={"HJ", "07013638"};
operate(sql, params);
}
}

错误异常如下:
java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 无法识别元数据的表 insert users(username, password) values(?,?)。 Query: insert users(username, password) values(?,?) Parameters: [HuJian, 07013638]
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:490)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:403)
at no10.QueryRunnerTest.operate(QueryRunnerTest.java:32)
at no10.QueryRunnerTest.main(QueryRunnerTest.java:45)
...全文
320 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
JPF1024 2012-12-14
  • 打赏
  • 举报
回复
对于sqlserver的办法是,在sqlserver的面板里面去拼接你的sql语句。
qqid88147418 2012-12-14
  • 打赏
  • 举报
回复
检查sql语句,然后你看看表列名是否正确 !
xingfuzhuzi1314 2012-12-12
  • 打赏
  • 举报
回复
引用 1 楼 AWUSOFT 的回复:
本帖最后由 AWUSOFT 于 2012-12-08 21:10:07 编辑 insert users(username, password) values(?,?) ==>insert into users(username, password) values(?,?)
+1用标准的sql试试!
codetian 2012-12-12
  • 打赏
  • 举报
回复
java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 无法识别元数据的表 我也遇到了同样的问题。
awusoft 2012-12-08
  • 打赏
  • 举报
回复
insert users(username, password) values(?,?)




==>insert into users(username, password) values(?,?)

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧