PreparedStatement pstmt=conn.getPstmt(sq);
pstmt.setString(1,postnum);
int flag=pstmt.executeUpdate(sq);
这样些提示错误postnum没有赋值。怎么样写才对呢
10 个解决方案
#1
可先在user表中取出id=‘uid’时postnum的值(postnum),newpostnum=postnum+1,然后“String sq="UPDATE user SET postnum=newpostnum WHERE id="+uid; ”这样应该没问题了,可以试试。
#2
让字段值 自动加一不可以吗? 或者每次插入的时候查找一下数据库中字段的最大值 然后加一 再插入。。
#3
先确认下:postnum是表里面的字段名么?如果是的话,你的SQL是没问题的,可以完成自增运算。
你这个SQL语句,并不需要任何参数,为啥会有:pstmt.setString(1,postnum) ?这句话应该删除掉。
你这个SQL语句,并不需要任何参数,为啥会有:pstmt.setString(1,postnum) ?这句话应该删除掉。
#4
楼主请尝试下
或者
String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
int flag=pstmt.executeUpdate(sq);
或者
String sq="UPDATE user SET postnum=?+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
pstmt.setString(1,postnum);
int flag=pstmt.executeUpdate(sq);
#5
自动增长不行吗~
#6
到数据库设置表的主键的策略 设置为自动增长
#7
1:主键设置为自动增长。
2:select max(id) from yourtable
取得最大值 +1
2:select max(id) from yourtable
取得最大值 +1
#8
数据库里直接设置。
#9
pstmt.setString(1,postnum);这句肯定报错,postnum在字符串里是不会被编译器识别成变量的
#10
String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
try {
Statement stmt = conn.getStmt();
int fla=stmt.executeUpdate(sq);
stmt.close();
这样就OK了
try {
Statement stmt = conn.getStmt();
int fla=stmt.executeUpdate(sq);
stmt.close();
这样就OK了
#1
可先在user表中取出id=‘uid’时postnum的值(postnum),newpostnum=postnum+1,然后“String sq="UPDATE user SET postnum=newpostnum WHERE id="+uid; ”这样应该没问题了,可以试试。
#2
让字段值 自动加一不可以吗? 或者每次插入的时候查找一下数据库中字段的最大值 然后加一 再插入。。
#3
先确认下:postnum是表里面的字段名么?如果是的话,你的SQL是没问题的,可以完成自增运算。
你这个SQL语句,并不需要任何参数,为啥会有:pstmt.setString(1,postnum) ?这句话应该删除掉。
你这个SQL语句,并不需要任何参数,为啥会有:pstmt.setString(1,postnum) ?这句话应该删除掉。
#4
楼主请尝试下
或者
String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
int flag=pstmt.executeUpdate(sq);
或者
String sq="UPDATE user SET postnum=?+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
pstmt.setString(1,postnum);
int flag=pstmt.executeUpdate(sq);
#5
自动增长不行吗~
#6
到数据库设置表的主键的策略 设置为自动增长
#7
1:主键设置为自动增长。
2:select max(id) from yourtable
取得最大值 +1
2:select max(id) from yourtable
取得最大值 +1
#8
数据库里直接设置。
#9
pstmt.setString(1,postnum);这句肯定报错,postnum在字符串里是不会被编译器识别成变量的
#10
String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
try {
Statement stmt = conn.getStmt();
int fla=stmt.executeUpdate(sq);
stmt.close();
这样就OK了
try {
Statement stmt = conn.getStmt();
int fla=stmt.executeUpdate(sq);
stmt.close();
这样就OK了