qq_34485818
Lin_Rock
采纳率50%
2016-07-14 05:19 阅读 2.3k

JDBC使用preparedStatement问题

2

使用preparedStatement进行增删改操作出现错误,可以进行查询,而使用Statement是可以进行增删改查操作,用错误内容百度说是权限问题,而jdbc登陆的用户是具有所有权限的,小白求解!!
提示错误信息代码:

@Test
public void preparedStatement() {
    String sql = "INSERT  INTO test.student(name,age) values (?,?);";
    Connection c = null;
    java.sql.PreparedStatement pre = null;
    try {
         c = getConnection();
         pre.setString(1, "张琳");
        pre.setInt(2, 18);
         pre = c.prepareStatement(sql);

        pre.executeQuery();

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }finally{
    close(c,pre,null);  
    }

}

图片说明
图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

10条回答 默认 最新

  • CSDNXIAOS Robot-S 2016-07-14 05:22

    public static void main(String[] args) throws Exception {
      // TODO Auto-generated method stub
         Class.forName("oracle.jdbc.driver.OracleDriver");//引用Oracle数据库连接驱动包
         Connection con =DriverMa......
    答案就在这里:jdbc preparedstatement 使用
    ----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

    点赞 评论 复制链接分享
  • zy_281870667 Bug开发攻城狮 2016-07-14 05:24

    你这截图,代码真看不清

    点赞 评论 复制链接分享
  • qq_34485818 Lin_Rock 2016-07-14 14:50
    @Test
    public void preparedStatement() {
        String sql = "INSERT  INTO test.student(name,age) values (?,?);";
        //String sql =  "select * from test.student;";
        Connection c = null;
        java.sql.PreparedStatement pre = null;
        try {
             c = getConnection();
    
             pre = c.prepareStatement(sql);
            pre.setString(1, "张亚林");
            pre.setInt(2, 18);
            //ResultSet ResultSet=
    
            pre.executeUpdate();
    

    // while( ResultSet.next()){

    // int id = ResultSet.getInt(1);

    // String name = ResultSet.getString(2);

    // int age = ResultSet.getInt(3);

    // System.out.print(id);

    // System.out.print(name);

    // System.out.print(age);

    // System.out.println();

    // }
    } catch (Exception e) {

            // TODO Auto-generated catch block
            ![![图片说明](https://img-ask.csdn.net/upload/201607/14/1468507826_332573.png)图片说明](https://img-ask.csdn.net/upload/201607/14/1468507769_830304.png)
            e.printStackTrace();
    
        }finally{
    
        close(c,pre,null);  
    
        }
    
    点赞 评论 复制链接分享
  • qq_34485818 Lin_Rock 2016-07-14 14:52

    ![图片说明](https://img-ask.csdn.net/upload/201607/14/1468507916_48254.png)图片说明

    点赞 评论 复制链接分享
  • qq_34485818 Lin_Rock 2016-07-14 14:52

    图片说明

    点赞 评论 复制链接分享
  • qq_34485818 Lin_Rock 2016-07-14 14:58

    图片说明

    点赞 评论 复制链接分享
  • qq_34485818 Lin_Rock 2016-07-14 15:01

    这是发生错误的代码:

    @Test
    public void preparedStatement() {
        String sql = "INSERT  INTO test.student(name,age) values (?,?);";
        Connection c = null;
        java.sql.PreparedStatement pre = null;
        try {
             c = getConnection();
    
             pre = c.prepareStatement(sql);
    
            pre.executeQuery();
    
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
        close(c,pre,null);  
        }
    
    }
    
    点赞 评论 复制链接分享
  • david94666 夏虫丿不语冰 2016-07-15 09:38

    换个数据库驱动包试一试

    点赞 评论 复制链接分享
  • YKWNDY 一只臭狮子 2016-07-16 03:40

    错误排除:
    1、保证sql没错,在图形工具运行正确再放入编码。
    2、保证数据库可以操作,而不是只读。

    点赞 评论 复制链接分享
  • u012404135 GGHidezhang 2016-08-26 05:50

    没有注册驱动?,。。。

    点赞 评论 复制链接分享

相关推荐