1. 当时在用MySQL 的MySQL Command Line Client往数据库里建表, 然后插入数据的时候, 发现汉字录入不上
后来发现要更改字符集, 于是我从新打开command line让上来就是 set names gbk;, 过来就好使了。
2. 当在eclipse 中写一下sql语句是总会报错Can not issue data manipulation statements with executeQuery().。 后来发现st.executeQuery("insert into student values('"+name+"','"+age+"''')") ; 这个是错误的。应该是st.execute("insert into student values ('" + name +"," + age + "‘));也就是把executeQuery改成execute。
如果你的SQL 语句是诸如update,insert的更新语句,应该用statement的execute()方法,如果用的是statement的executeQuery()就会出现上诉问题
3. ResultSet 中的getRow() 方法不是说结果集个数, 而是当前所指的行, 当时我顾名思义。
4. 像表中插入一个字段
alter table message add column birthday date;
有的数据库时间类型是datetime, 这里我的是mysql
5.
rs:数据集。 rs.getInt(int index); rs.getInt(String columName); 你可以通过索引或者列名来获得查询结果集中的某一列的值。
while(rs.next){ rs.getInt(1)//等价于rs.getInt("id"); rs.getString(2)//等价于rs.getInt("name"); }
6. sql = "insert into single_photo(detail) values ('" + detail + "');";
执行的时候报错(第一句是测试输出)
insert into single_photo(detail) values (我是一个);
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '??‘?????????' in 'field list'
原因:detail两边应该加'',即sql = "insert into single_photo(detail) values ('" + detail + "');";