String sql ="insert into "+TableName+" ("+x+","+y+") values("+a+","+b+")";

解决方案 »

  1.   

    up
    怎么不行呢?
    编译提示我:
    参数不足,期待是1
    我的写法是:
    String 
    DM,MC;stmt.executeUpdate("INSERT INTO T_CL VALUES ("+DM+","+MC+")")
      

  2.   

    不对啊。系统提示:
    预期参数是1
    我是这样写的:
    stmt.executeUpdate("INSERT INTO T_CL VALUES("+DM+","+MC+")");其中:DM,MC是STRING 变量。
      

  3.   

    PreparedStatment pstat = conn.preparedStatement("INSERT INTO T_CL (A,B) VALUES (?,?)");
    pstat.setString(1, DM);
    pstat.setString(2, MC);
    pstat.executeUpdate();你的SQL语句都写错了.
    INSERT INTO TABLE (COLUMN1, ...) VALUES (VALUE1, ...);
      

  4.   

    写法有问题,你将你的sql语句打印出来就明白了(这个很有用),你可以拿打印出来的语句直接执行(在数据库管理工具中),如果这样执行都有问题,那么就说明你的程序生成的sql语句有问题;如果没有问题,那么你的数据库可能有问题。 :)
    stmt.executeUpdate("INSERT INTO T_CL VALUES("+DM+","+MC+")");
    =>>
    stmt.executeUpdate("INSERT INTO T_CL VALUES('"+DM+"','"+MC+"')");呵呵,说起数据库的问题,我在使用Oracle时还碰见过一个很奇怪的问题,大家看看:===========================================
    在两台Oracle服务器A、B上调用同一个过程:dbms_java.grant_permission 
    分别给A上的用户“bor”和B上的用户“stuser”授予java程序进行网络连接的权限,SQL语句如 
    下: 
    A: 
    call dbms_java.grant_permission 
    ('bor','SYS:java.net.SocketPermission','*','connect,accept,resolve,listen'); B: 
    call dbms_java.grant_permission 
    ('stuser','SYS:java.net.SocketPermission','*','connect,accept,resolve,listen'); A中调用成功。 
    B中出现以下错误: 
      ORA-29532: Java 调用被未捕获的 Java 例外终止 无意中将B中的语句在connect前面换行,分成两行来执行,OK! 但是这条sql实际上是在触发器中调用的,不可能换成两行啊!!郁闷!! 一气之下,将B重新启动(作为服务器可不能随便重启啊),再试,一切OK!!! 看来Oracle也有不稳定的地方 :)
    该问题不知道如何解决 :(
    ===========================================