此处输入的数据:
<p align="center">图书编号:<input type="text" name="name1" size="20">
<p align="center">图书名称:<input type="text" name="name2" size="20">
<p align="center"> 出版社:<input type="text" name="name3" size="20">
<p align="center"> 版本:<input type="text" name="name4" size="20">
<p align="center">图书分类:<input type="text" name="name5" size="20">
<p align="center">
<input type="submit" value="添加">此处获得数据:
<%
request.setCharacterEncoding("GB2312");
String bookno=request.getParameter("name1");
String bname=request.getParameter("name2");
String publisher=request.getParameter("name3");
String edition=request.getParameter("name4");
String bclass=request.getParameter("name5");
java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("dd-M月-yy");
java.util.Date Now=new java.util.Date();
String time=formatter.format(Now);
out.println("time="+time); 此处获得了系统当前的日期 ,而且是Oracle数据库的dd-M月-yy链接数据库后更新:
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String hostIp = "localhost";// 你的服务器ip
String ORACLE_SID = "orcl";// 你的oracleSid
String user = "book";// 你的用户名
String pw = "book";// 你的密码
String url = "jdbc:oracle:thin:@" + hostIp + ":1521:" + ORACLE_SID;
Connection conn = DriverManager.getConnection(url, user, pw);
PreparedStatement stat=conn.prepareStatement("INSERT INTO book VALUES(?,?,?,?,?,?)");
stat.setString(1,bookno);
stat.setString(2,bname);
stat.setString(3,publisher);
stat.setString(4,edition);
stat.setString(5,bclass);
stat.setString(6,time);
stat.executeUpdate();
out.println("<br><br><B>图书添加成功!</B>");
conn.close();
stat.close();
} catch (Exception e) {
out.println(e);
}
%>
总是不能往数据库里插入数据,是不是字符型往日期型插的问题?那么应该怎么转换,在什么地方转换呢?
<p align="center">图书编号:<input type="text" name="name1" size="20">
<p align="center">图书名称:<input type="text" name="name2" size="20">
<p align="center"> 出版社:<input type="text" name="name3" size="20">
<p align="center"> 版本:<input type="text" name="name4" size="20">
<p align="center">图书分类:<input type="text" name="name5" size="20">
<p align="center">
<input type="submit" value="添加">此处获得数据:
<%
request.setCharacterEncoding("GB2312");
String bookno=request.getParameter("name1");
String bname=request.getParameter("name2");
String publisher=request.getParameter("name3");
String edition=request.getParameter("name4");
String bclass=request.getParameter("name5");
java.text.SimpleDateFormat formatter=new java.text.SimpleDateFormat("dd-M月-yy");
java.util.Date Now=new java.util.Date();
String time=formatter.format(Now);
out.println("time="+time); 此处获得了系统当前的日期 ,而且是Oracle数据库的dd-M月-yy链接数据库后更新:
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String hostIp = "localhost";// 你的服务器ip
String ORACLE_SID = "orcl";// 你的oracleSid
String user = "book";// 你的用户名
String pw = "book";// 你的密码
String url = "jdbc:oracle:thin:@" + hostIp + ":1521:" + ORACLE_SID;
Connection conn = DriverManager.getConnection(url, user, pw);
PreparedStatement stat=conn.prepareStatement("INSERT INTO book VALUES(?,?,?,?,?,?)");
stat.setString(1,bookno);
stat.setString(2,bname);
stat.setString(3,publisher);
stat.setString(4,edition);
stat.setString(5,bclass);
stat.setString(6,time);
stat.executeUpdate();
out.println("<br><br><B>图书添加成功!</B>");
conn.close();
stat.close();
} catch (Exception e) {
out.println(e);
}
%>
总是不能往数据库里插入数据,是不是字符型往日期型插的问题?那么应该怎么转换,在什么地方转换呢?
数据库是日期类型就插入日期类型
不能乱插!
stat.setDate(6,Now);
改为setDate()
An error occurred at line: 66 in the jsp file: /admin2_book_insert.jsp
The method setDate(int, Date) in the type PreparedStatement is not applicable for the arguments (int, String)
63: stat.setString(3,publisher);
64: stat.setString(4,edition);
65: stat.setString(5,bclass);
66: stat.setDate(6,time);
67: stat.executeUpdate();
68: out.println("<br><br><B>图书添加成功!</B>");
69: conn.close();
An error occurred at line: 66 in the jsp file: /admin2_book_insert.jsp
The method setDate(int, Date) in the type PreparedStatement is not applicable for the arguments (int, Date)
63: stat.setString(3,publisher);
64: stat.setString(4,edition);
65: stat.setString(5,bclass);
66: stat.setDate(6,Now);
67: stat.executeUpdate();
68: out.println("<br><br><B>图书添加成功!</B>");
69: conn.close();
The method setDate(int, Date) in the type PreparedStatement is not applicable for the arguments (int, Date)是因为你使用了java.util.Date类型来作为参数,应该使用java.sql.Date类型