我写的一段access插入信息的简单代码,运行之后出现 数据库操作失败!
请各位大哥看下,帮我找出错误,很急!!!先谢谢啦
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%><%!
Statement stmt=null;
Connection conn=null;
String sql=null;
%>
<%
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:caiwu");
}catch (Exception e){
out.println("数据连接失败!");
}
try{
stmt=conn.createStatement();
sql="insert into database values( 'time','now','day','run','zhai')";
stmt.executeUpdate(sql);
}catch(Exception e){
out.println("数据操作失败!");}
try{
stmt.close();
conn.close();
}catch(Exception e) {
out.println("数据关闭失败!");}
%>
请各位大哥看下,帮我找出错误,很急!!!先谢谢啦
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%><%!
Statement stmt=null;
Connection conn=null;
String sql=null;
%>
<%
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:caiwu");
}catch (Exception e){
out.println("数据连接失败!");
}
try{
stmt=conn.createStatement();
sql="insert into database values( 'time','now','day','run','zhai')";
stmt.executeUpdate(sql);
}catch(Exception e){
out.println("数据操作失败!");}
try{
stmt.close();
conn.close();
}catch(Exception e) {
out.println("数据关闭失败!");}
%>
/* 数据访问组件 */import java.io.*;
import java.util.*;
import java.sql.*;public class A{
private static DBPool instance = null;
private Connection _getConnection(){
try{
String sDBDriver = null;
String sConnection = null;
String sUser = null;
String sPassword = null;
sDBDriver ="sun.jdbc.odbc.JdbcOdbcDriver";
sConnection = "jdbc:odbc:dbm";
sUser ="";
sPassword = ""; Properties pr = new Properties();
pr.put("user",sUser);
pr.put("password",sPassword);
pr.put("characterEncoding", "GB2312");
pr.put("useUnicode", "TRUE"); Class.forName(sDBDriver).newInstance();
return DriverManager.getConnection(sConnection,pr);
}
catch(Exception se){
System.out.println(se);
return null;
}
} //释放资源
public static void dbClose(Connection conn,PreparedStatement ps,ResultSet rs)
throws SQLException
{
rs.close();
ps.close();
conn.close();
}
public static void main(String[] args) {
System.out.println(DBPool.getConnection());
}
}
如果表命有自动增长列
insert into 表名 values('a','b');
这样写会报列名不匹配的错误,如果用sqlserver就是对的所以用Access需注意
这样写: insert into 表明(name,address) values('姓名','地址'); //把列名列出来
我不知道楼主的错,但我看到了你的语句,你可能是这个错.你应该把错列出来让大家看看!
下面是改了后的代码
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*"%><%!
Statement stmt=null;
Connection conn=null;
String sql=null;
%>
<%
String time=request.getParameter("time");
String now=request.getParameter("now");
String day=request.getParameter("day");
String run=request.getParameter("run");
String zhai=request.getParameter("zhai");
%>
<%
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:caiwu");
}catch (Exception e){
out.println("数据连接失败!");
}
try{
stmt=conn.createStatement();
sql="insert into database(time,now,day,run,zhai) values( 'time','now','day','run','zhai')";
stmt.executeUpdate(sql);
}catch(Exception e){
out.println("数据操作失败!");}
try{
stmt.close();
conn.close();
}catch(Exception e) {
out.println("数据关闭失败!");}
%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*" %>
<%!
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
%><%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:caiwu");
}catch(Exception e){
out.println("数据库操作失败1!");
}
try{
stmt = con.createStatement ();
rs = stmt.executeQuery("select * from database");
}catch(Exception e){
out.println("数据库操作失败2!");
}
try{
if(rs!=null){
while(rs.next()){ out.println("时间:"+rs.getString("time")+"<br>");
out.println("现有资金:"+rs.getString("now")+"<br>");
out.println("日常开支:"+rs.getString("day")+"<br>");
out.println("开支出处:"+rs.getString("run")+"<br>");
out.println("债务:"+rs.getString("zhai")+"<br>");
}
} }catch(Exception ex)
{
out.println(ex.toString());
out.println("数据库操作失败3!");
}
try{
rs.close();
stmt.close();
con.close();
}catch(Exception ex){
out.println(ex.toString());
}
%>
报错:数据库操作失败2