【声明】 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4050825.html 联系方式:smyhvae@163.com 【正文】
很长时间不写代码动手能力明显下降很多常见的错误还是经常发生,今天吐血了一次。
简单的坑总是要多跳几次才能甘心。很清晰的记得大学的时候在此坑差点闷死,现在又跳进这个坑了,搞了半天终于知道错在哪里。
String sqlString = "insert into cryptcontent(content,assistentContent) value('asf','asfd')";
DBHelper.insertQuery(sqlString);
这样操作可以的。因此占位符应该也没问题,前提占位符使用正确。代码如下(错误的):
String sqlString = String.format(
"insert into cryptcontent(content,assistentContent) value(%s,%s)",
assistantEncryptResultString, valueString);
DBHelper.insertQuery(sqlString);
第13章 MySQL 数据库与JDBC编程 13.1 JDBC基础 JDBC 它是一种可以执行SQL语句的java API (可以跨平台 跨数据库) 13.1.2 JDBC驱动 数据库驱动程序是JDBC程序数据库之间的转换层,数据库驱动程序负责将JDBC调用映射成特定的数据库调用 JDBC 驱动通常有如下4
此时怎么调试都报错,然后进行调试,报错如下:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'afsdf' in 'field list'
Debug 调试出现:insert into cryptcontent(content,assistentContent) value(afsdf,asfasfd )
错误找到:注意后面value中的varchar类型的列的字段值没有单引号。故修正:
String sqlString = String.format(
"insert into cryptcontent(content,assistentContent) value('%s','%s')",
assistantEncryptResultString, valueString);
DBHelper.insertQuery(sqlString);
然后执行成功。