有可能是DBCONNFactory.getMysqlCONN()方法有问题,看看是不是有别的线程也调用了该connection。
也有可能是是表结构的问题,你把mysql中表的结构改变成innodb试试
再检查DBCONNFactory.close(rs, conn, ps)方法,一般是这样写的
try {
if (conn != null)
conn.close()
} catch (Exception e) {
e.printStackTrace()
} finally {
try {
if (st != null)
st.close()
} catch (Exception e) {
e.printStackTrace()
} finally {
try {
if (rs != null)
rs.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
}
总之,问题是你在在statement关闭的时候 *** 作没有成功
多检查一下你的程序,你上面写的代码应该没有问题
String sql= "INSERT INTO bxqd(name,jfh,jwh) values(s1,s2,s3)"
这句话错了,字符串拼接的。正确的写法:
String sql= "INSERT INTO bxqd(name,jfh,jwh) values('"+s1+"','"+s2+"','"+s3+"')"
这样就正确了。
日期也可以用默认值设置,xx date default CURRENT_TIMESTAMP
那是因为在Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/immoc","root", "root")中没有设置编码格式,导致插入数据的时候才产生乱码。
可以将这句话修改为:Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/immoc?useUnicode=true&ampcharacterEncoding=utf8","root", "root")你再试试看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)