格式好象是执行存储过程,不明白运行sql语句为何也要这样传参数?

解决方案 »

  1.   

    这是通过预编译SQL语句插入记录,
    这样的好处是可以大幅度提高记录存储速度
      

  2.   

    只是普通的插入一条记录,如果你想知道怎么用可以在csdn的搜索里面查找PreparedStatement。
    ----------
    回复人: orant(仗剑走天涯) ( ) 信誉:100  2004-01-31 15:38:00  得分:0 
     
     
      可以参考《J2EE参考大全》
      
     
    -----------
    累不累呀,就这么个操作还要参考《J2EE参考大全》!
      

  3.   

    用username,email等变量的值,代替sql语句中的几个问号
    然后执行这条sql语句
      

  4.   

    在java中数据库连接提供参数预编译,及你在提交sql语句的时候,可以不提供数据,只提供语句,然后在用set***来提供数据,其优点在于更新,插入大数据的时候非常有用,在ado中提供stream来完成。比如图片,word文档等。其中的12345与?的位置对应。
      

  5.   

    //注册jdbc-odbc桥数据库驱动
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //连接叫foxdb的数据库,无用户名和密码
    con=DriverManager.getConnection("jdbc:odbc:foxdb","",""); 
    //向foxtable表中插入字段
    String str="insert into foxtable values(?,?,?,?);"; 
    //使用预处理(需要数据库支持才可以使用)来执行sql语句,此类的好处是内嵌参数特别方便
    PreparedStatement pstmt=con.prepareStatement(str); 
    //为str变量中的第一个?赋一个字符串类型的值
    pstmt.setString(1,username);
    //为str变量中的第二个?赋一个字符串类型的值
    pstmt.setString(2,email);
    //为str变量中的第三个?赋一个字符串类型的值
    pstmt.setString(3,doc); 
    //为str变量中的第四个?赋一个字符串类型的值
    pstmt.setString(4,url); 
    //开始执行sql语句
    pstmt.executeUpdate(); 
    //关闭预处理
    pstmt.close();
    //关闭数据库连接
    con.close();