stmt.executeQuery(sql); 这行有问题,你上面的是建表语句,不是查询语句,可以用:
Statement.executeUpdate(sql) 或 Statement.execute(sql)
(象update,delete之类操作都不该用executeQuery,select 语句才用这个)
Statement.executeUpdate(sql) 或 Statement.execute(sql)
(象update,delete之类操作都不该用executeQuery,select 语句才用这个)
解决方案 »
- mysql问题,更新时查询条件字段是浮点数,无法更新,帮帮忙
- MySQL 2表查询效率询问
- mysql中全角空格如何替换成半角空格
- 帮我写个数据库mysql 4.0.12 等同于实现子查询的代码,急!
- 请问MYSQL SORT BUFFER的问题 为什么BUFFER越大会越慢呢?
- MySQL 管理的2个新手问题
- 一个mysql查询的问题
- 谁能介绍一下mysql的数据表结构
- ERROR 2013 (HY000): Lost connection to MySQL server during query
- DW与MySQL连接时提示“拒绝访问”
- 关于EMS PostgreSQL Manager
- "can't create table "错误不解,在线等待
这个问题再解决了
100分就是你的了兄弟谢谢~~~
换成 ("col1="+col1) 也是null这么换和以前不一样么?就是加了个字符串吧
String co1;
String co2;
String co3;下面又出现了while(rs.next()){
String co1=rs.getString(1);//把这三个String去掉后就好了
String co2=rs.getString(2);//难道前面声明了后面再声明就不行了么?
String co3=rs.getString(3);//看来我的java基本知识的理解还很不够啊
}虽然最后出来结果了,但是String把我搞糊涂了
String co1;
String co2;
String co3;
做为全局变量对全局有效,而
while(rs.next()){
String co1=rs.getString(1);
String co2=rs.getString(2);
String co3=rs.getString(3);
String co4=rs.getString(4);
String co5=rs.getString(5);
}
里面声明的变量只在这个while循环中有效,这等于是不同的变量了,如果你在这个while循环中用System.out.println("co1="+co1),输出应该是有值的,但是你在循环体外输出,系统会认为你输出的是最前面定义那些全局变量,而这些全局变量你是没有赋值的,你把循环体中的String去掉了,那就代表循环体中的变量就是前面你定义的全局变量了,后面再输出当然有值了。
目录结构如下:
mysqldriver\com\mysql\jdbcmysqldriver\org\gjt\mm\mysql
后者里面只有一个Driver的class文件,而前者里面除了Driver外还有很多
这两个驱动有什么区别么?为什么这样放着呢?还有,如果我用Tomcat和Jsp的话使用哪个驱动呢?
mysql JDBC Driver
常用的有两个,一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysql.Driver
详情请参见网站:http://www.gjt.org/
或在本网站下载mysql JDBC Driver(mm.jar)另一个是mysql官方提供的JDBC Driver,其JAVA类名为:com.mysql.jdbc.Driver
驱动下载网址:http://dev.mysql.com/downloads/,进入其中的MySQL Connector/J区域下载。
mysql 最新提供的JDBC驱动已经建议改用com.mysql.jdbc.Driver了