[Microsoft][ODBC SQL Server Driver][SQL Server]从字符串向 datetime 转换时失败。

importjava.sql.*;importjava.util.Scanner;publicclass图书管理{publicstaticvoidmain(String[... import java.sql.*;
import java.util.Scanner;

public class 图书管理 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("创建驱动成功");
Connection con=DriverManager.getConnection("jdbc:odbc:book","sa","");
System.out.println("连接数据库成功");
Statement stmt=con.createStatement();//数据库能与SQL语句互换
//添加图书
Scanner yi=new Scanner(System.in);
System.out.print("请输入一个需要添加的书名:");
String h=yi.next();
System.out.print("请输入作者名:");
String g=yi.next();
System.out.print("请输入出版日期(格式:xxxx-xx-xx)");
String j=yi.next();
System.out.print("请输入价格:");
String f=yi.next();
System.out.print("请输入数量");
String v=yi.next();
String sql="Insert into books(bookname, writer, publicationday, price, number) Values('h','g','j','f','v')";
stmt.executeUpdate(sql);
System.out.println("添加成功");
}
}
高手帮我看看那里错了阿
展开
 我来答
百度网友60c0594194
2012-01-10 · 超过21用户采纳过TA的回答
知道答主
回答量:56
采纳率:0%
帮助的人:64.5万
展开全部
恩 首先,你确定数据库里面的bookname, writer, publicationday, price, number都是varchar类型?
其次,数据库连接用完最好关闭。
最后,还是不行的话在“添加成功”后面---(是程序最后,别误解了)——添加System.exit(0);
希望可以帮助到你,望采纳
ps:根据你题目的提示,应该是publicationday出错了,你输入的是string,但是却要到数据库保存成date,其他数据格式最好也检查一遍
heley123456
2012-01-12 · 超过17用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:21.4万
展开全部
是不是因为publicationday这个字段是datetime类型的,而你插入的是'J'是字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式