你好,我想请问SQL 插入和修改的问题我声明了一个Object[4]用于存放传来的数据Object[0]=reader.getId();
Object[1]=reader.getName();
Object[2]=reader.getPeriod();
Object[3]=reader.getRegisterTime();其中Id是int型的,Name是String型的,Period和RegisterTime都是Date型的.RegisterTime显示的是当前时间请问下sql语句insert添加怎么写
我是这么写的(t_reader中数据库表名)
insert into t_reader(id,name,period,registerTime) values(obj[0],'"+obj[1]+"',obj[2],getDate())结果肯定是错误不能添加的.
有没有老师能教我下,顺便也说修改语句update 在这种情况下该怎么写.
谢谢
Object[1]=reader.getName();
Object[2]=reader.getPeriod();
Object[3]=reader.getRegisterTime();其中Id是int型的,Name是String型的,Period和RegisterTime都是Date型的.RegisterTime显示的是当前时间请问下sql语句insert添加怎么写
我是这么写的(t_reader中数据库表名)
insert into t_reader(id,name,period,registerTime) values(obj[0],'"+obj[1]+"',obj[2],getDate())结果肯定是错误不能添加的.
有没有老师能教我下,顺便也说修改语句update 在这种情况下该怎么写.
谢谢
//这样试试看!把各元素能转成原来的类型是最好!
PreparedStatement ps = conn
.prepareStatement("insert into t_reader(id,name,period,registerTime) values(?,?,?,?)");
ps.setObject(1, obj[0]);
ps.setObject(2, obj[1]);
ps.setObject(3, obj[2]);
ps.setObject(4, getDate());
ps.executeUpdate();
PreparedStatement ps = conn
.prepareStatement("insert into t_reader(id,name,period,registerTime) values(?,?,?,?)");
ps.setObject(1, obj[0]);//分别得到VO类里的属性就可以。
ps.setObject(2, obj[1]);
ps.setObject(3, obj[2]);
ps.setObject(4, getDate());
ps.executeUpdate();
比如oracle下面date是不能直接写sql插的,需要to_date函数转换,
出错先分析异常,分析不明白要贴出来,告诉你如何分析异常信息,类似问题下次就不用来问了.
你按楼上的写就行了.比较简单通用.update也一样就是把参数写成?就行了.还能避免sql注入.