You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'now(user_name,sex,age,shengri,email,haoma,createuser,createdate,updateuser,updat' at line 1翻译:检查手册对应于你的MySQL服务器版本的语法使用“现在附近(user_name、性别、年龄、shengri邮件,号码,createuser,createdate,updateuser,updat”在1号线求大神指点哪个问题package src_1gongneg;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import src_1.Jdbc_shujuku;
import src_1.Shujukulianjie;
public class Gongneng {
public void add(Jdbc_shujuku g){
try {
//数据库连接
Connection conn=Shujukulianjie.getConnection();
//向数据库中增加数据
String sql=""+ "insert into now"+//向表now中插入
"(user_name,sex,age,shengri,email,haoma,"
+ "createuser,createdate,updateuser,updatedate,isdel)"
+"values("
//curren_date当前日期;
+ "?,?,?,?,?,?,?,current_date(),?,current_date(),?)";
/*对sql数据库中数据进行接收和设置Connection类
* 中的prepareStatement返回值类型PreparedStatement,参数sql列参数
*/
PreparedStatement ptmt=conn.prepareStatement(sql);
ptmt.setString(1,g.getUser_name());//对user_name取值
ptmt.setInt(2,g.getSex());
ptmt.setInt(3, g.getAge());
/*注意g.getshengri()类型是java。util,
* 但setDate类型要求为java.sql类,进行转换
* new Date,getTime()方法
*/
ptmt.setDate(4,new Date(g.getShengri().getTime()));
ptmt.setString(5, g.getEmail());
ptmt.setString(6,g.getHaoma());
ptmt.setString(7, g.getCreateuser());
//ptmt.setDate(8,(Date) g.getCreatedate());
ptmt.setString(8,g.getUpdateuser());
ptmt.setInt(9,g.getIsdel());
/*返回值为Boolean类型,执行任何SQL语句,
* 用于返回结果执行语句,必须要求有
*/
ptmt.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package src_1;
import java.util.Date;
import src_1gongneg.Gongneng;
public class Shixian {
public static void main(String[] args) {
// TODO Auto-generated method stub
Jdbc_shujuku one=new Jdbc_shujuku();
one.setUser_name("小姐");
one.setSex(1);
one.setAge(12);
one.setEmail("xiap@imooc.com");
one.setHaoma("17653809");
one.setShengri(new Date());
//one.setCreatedate(createdate);
one.setCreateuser("xja");
one.setUpdateuser("xhis");
one.setIsdel(1);
Gongneng i=new Gongneng();
i.add(one);
}
}
2 回答
黄森huang
TA贡献7条经验 获得超1个赞
更改后发现是程序中 PreparedStatement ptmt=conn.prepareStatement(sql);异常没有处理,导致
后面的ptmt.execute();没有执行,
处理:
PreparedStatement ptmt=null; try { ptmt = cnn.prepareStatement(sql); ptmt.execute(sql); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }
这样就没有问题了
添加回答
举报
0/150
提交
取消