高手帮我看看这段代码。

ShiftTheFuture 2003-10-16 10:53:19
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://','')

郁闷了。。。
...全文
37 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cocoa2212 2003-10-25
  • 打赏
  • 举报
回复
你可以试试用mysql 做库~~~~~~~`````
jsp和mysql 才是最完美的结合 放弃你的access吧!!!! up ~~~~~~~~~~~~~~~~~~
yaray 2003-10-25
  • 打赏
  • 举报
回复
rainshow 说的对
flyying 2003-10-25
  • 打赏
  • 举报
回复
我看也像是sql语句的问题。access中不让插入空记录,如果你想要插入空的记录的话应该这样写:
insert into testdb(name,password,email,homepage,signs) values('hh','hh',' ','http://',' ')

看到了吗?在两个单引号的中间插入一个空格这样的话应该可以插入进去了。
你可以试一下,不知道我说得对不对。
一颗串珠 2003-10-25
  • 打赏
  • 举报
回复
我曾经发现过查询ACCESS 2000数据库中的字符型字段时,字段名要用``(就是~键,与标准SQL语言似乎不同)来包含,不知能否解决。
yugona 2003-10-25
  • 打赏
  • 举报
回复
db.executeUpdate: [Microsoft][ODBC Microsoft Access Driver] 标准表达式中数据类型不匹配。

1、查看access数据库中的表列信息,注意修改“不允许为空”为“允许值为空”
2、查看你的表中列有没有“数值”,“日期”型的,如果有则不能插入''。
crazymens 2003-10-25
  • 打赏
  • 举报
回复
你最好把这句话方到数据库的查询分析器中执行一下,如果有问题这是你数据库字段设计有问题。
如果数据库钟可以执行该句子,那么更换一个驱动程序,比如采用该数据库专门的驱动程序进行试验。这时候就可以找到错误原因了。
zkjbeyond 2003-10-25
  • 打赏
  • 举报
回复
'http://' 斜杠问题。我估计是!

ACCESS支持的数据类型有限!


newman0708 2003-10-25
  • 打赏
  • 举报
回复
用mysql或者msserver ,oracle
ShiftTheFuture 2003-10-24
  • 打赏
  • 举报
回复
好像不是这个原因,up
swinging 2003-10-17
  • 打赏
  • 举报
回复
我的印象里,好像不能向ACCESS数据库插入""这样的空字符串。
具体我没有实践过,只是听说。你可以试验下,记得可能的话也告诉我结果。

81,092

社区成员

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

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