问答详情
源自:8-7 商品详细信息显示

老师桑,请教问题

String sql="select * from items where id=?;";
stmt=conn.prepareStatement(sql);
stmt.setInt(1,id);

没看懂为什么这么做

提问者:weibo_追梦之鱼3049_0 2015-12-18 08:15

个回答

  • gao634209276
    2016-03-11 20:35:44


     void setInt(int parameterIndex, int x) throws SQLException;
    
        /**
         * Sets the designated parameter to the given Java <code>long</code> value.
         * The driver converts this
         * to an SQL <code>BIGINT</code> value when it sends it to the database.
         *
         * @param parameterIndex the first parameter is 1, the second is 2, ...
         * @param x the parameter value
         * @exception SQLException if parameterIndex does not correspond to a parameter
         * marker in the SQL statement; if a database access error occurs or
         * this method is called on a closed <code>PreparedStatement</code>
         */

    api源代码。jdbc不太懂的换可以先学学jdbc篇。

    setInt(int parameterIndex, int x):方法

    给指定的参数赋指定的值;

    参数int parameterIndex是jdbc传入sql语句中的每个问号?的index;第一个问号是1,第二个问号是2…;

    参数 int x是你设定的值,在这里传的是变量id;

  • 慕莱坞9220042
    2015-12-18 09:34:59

    你好,String sql="select * from items where id=?;";这个是写了个sql语句,sql应该懂吧,这里就是查items这个表里某个id的数据;stmt=conn.prepareStatement(sql);这句是调方法执行这个sql语句,返回你要的数据,你就可以处理了。

    望楼主采纳!

  • Caballarii
    2015-12-18 09:13:37

    执行sql语句的基本步骤,暂时看不懂没关系,依葫芦画瓢就好