数据库操作时出现错误,COUNT 字段不正确或语法错误,帮忙看看

chris_zley 2008-04-18 06:08:36
[Microsoft][ODBC SQL Server Driver]COUNT 字段不正确或语法错误

public boolean saveBook(Book bookInfo){
boolean result = false;
try {
conn = DriverManager.getConnection("jdbc:odbc:LibraryMarket","","");
ps = conn.prepareStatement("INSERT INTO info_book(acode,acodename,"+
"cidsys,cnum,cbooknum,cusernum,cbookname,cedition,mdprice,"+
"cauthor,cframe,ckb,dupdate,nif,minzk,minprice,mxszk,"+
"mxsprice,cpressdate,cksname) "+
"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,CONVERT(smalldatetime,?,100),?,?,?,?,?,?,?)");

ps.setString(1, bookInfo.getAcode());
ps.setString(2, bookInfo.getAcodename());
ps.setString(3, bookInfo.getCidsys());
ps.setString(4, bookInfo.getCnum());
ps.setString(5, bookInfo.getCbooknum());
ps.setString(6, bookInfo.getCusernum());
ps.setString(7, bookInfo.getCbookname());
ps.setString(8, bookInfo.getCedition());
ps.setDouble(9, bookInfo.getMdprice());
ps.setString(10, bookInfo.getCauthor());
ps.setString(11, bookInfo.getCframe());
ps.setString(12, bookInfo.getCkb());
ps.setString(13, bookInfo.getDupdate());
ps.setInt(14, bookInfo.getNif());
ps.setDouble(15, bookInfo.getMinzk());
ps.setDouble(16, bookInfo.getMinprice());
ps.setDouble(17, bookInfo.getMxszk());
ps.setDouble(18, bookInfo.getMxsprice());
ps.setString(10, bookInfo.getCpressdate());
ps.setString(20, bookInfo.getCksname());
System.out.println(ps.toString());
ps.executeUpdate();
result = true;
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(ps!=null) ps.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if(conn!=null)conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return result;
}
public static void main(String[] args){
DBManager db = new DBManager();
Book bookInfo = new Book("code","codename","cidsys","cnum","booknum",
"usernum","bookname","edition",100,"author","frame","ckb",
"8 16 2000 11:50AM",1,1,100,2,200,"press","ksname");
db.saveBook(bookInfo);
}


另外:关于smalldatetime转换,要转换的字符串都可以是那些格式呢?我自己试了试,好像只有"8 16 2000 11:50AM"可以。。。有其他方法吗?
...全文
994 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
anqini 2008-04-22
  • 打赏
  • 举报
回复
DB的字段是什么类型的?TimeStamp?date?
chris_zley 2008-04-22
  • 打赏
  • 举报
回复
已经找到错误了。

是ps语句的序号错了。。
Shine_Panda 2008-04-18
  • 打赏
  • 举报
回复
把日期直接用String 插进去。
不要进行格式转换
试试。。。。。。。。
goodmrning 2008-04-18
  • 打赏
  • 举报
回复
学习

62,623

社区成员

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

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