高手帮我看看这段代码。
package NewUser;
//声明类库文件
import java.net.*;
import java.sql.*;
import java.lang.*;
import java.io.*;
import java.util.*;
public class db {
//成员变量初始化
Connection conn = null; //数据库连接
ResultSet rs = null; //记录集
String username=""; //用户名
String password=""; //密码
String email=""; //email
String homepage=""; //主页
String signs=""; //签名
//db的构建器
public db() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (Exception e){
//这样写是为了方便调试程序,出错打印mydb()就知道在什么地方出错了
System.err.println("mydb(): " + e.getMessage());
}
}
//executeQuery方法用于进行记录的查询操作
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection("jdbc:odbc:myodbc","dbuser","dbuser");
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("db.executeQuery: " + ex.getMessage());
}
return rs;
}
//executeUpdate方法用于进行add或者update记录的操作
//入口参数为sql语句,成功返回true,否则为false
public boolean executeUpdate(String sql) {
boolean bupdate=false;
rs = null;
try {
//建立数据库连接
conn = DriverManager.getConnection("jdbc:odbc:myodbc","dbuser","dbuser");
Statement stmt = conn.createStatement();
int rowCount = stmt.executeUpdate(sql);
//如果不成功,bupdate就会返回0
if(rowCount!=0) bupdate=true;
}
catch(SQLException ex) {
//打印出错信息
System.err.println("db.executeUpdate: " + ex.getMessage());
}
return bupdate;
}
}
为什么我连接数据库的时候,他老是提示:
db.executeUpdate: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。
这是我的sql语句:
insert into testdb(name,password,email,homepage,signs) values('hh','hh','','http://','')
郁闷了。。。