当前位置: 首页 > 知识库问答 >
问题:

UCANAccess:用户缺乏权限或找不到对象

方祺
2023-03-14

我正在尝试做一些Ucanaccess实践,用Java管理一些数据库。我得到了一个我不知道如何解决的错误。

我在Access中有一个名为USERS的表:

自动编号,短文本,短文本,数字。

    Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
    String url="jdbc:ucanaccess://C:/Users/PC-Mikel/Desktop/Uni/Distribuidos/P4Ejer4.accdb";
    Connection connection = DriverManager.getConnection(url);
    Statement statement = connection.createStatement();
    String sql,user,pass;
    System.out.println("Introduzca Usuario");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    user = br.readLine();
    System.out.println("Introduzca Contraseña");
    BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));
    pass = br2.readLine();
    sql= "UPDATE USERS SET CONEXIONES = 1 WHERE USUARIO = "+user+" AND CONTRASENA = " +pass;
    System.out.println(sql);
    int nrows = statement.executeUpdate(sql);

代码继续,但只有一些条件和查询。

共有1个答案

尉迟宣
2023-03-14

您的动态SQL正在创建一个将数据值与列名混淆的查询。您应该使用PreparedStatement和参数化查询,例如,

sql= "UPDATE USERS SET CONEXIONES = 1 WHERE USUARIO = ? AND CONTRASENA = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1) = user;
pstmt.setString(2) = pass;
int nrows = pstmt.executeUpdate();
 类似资料:
  • 我目前正试图使用Java Netbeans将一条记录更新到MS Access数据库中,但不断出现以下错误: 以下是我的代码:

  • 当我试图将数据放入数据库时,我出现了一个错误,这是我的注册函数

  • 我试图用外键将一个元组从输入关系INPUTRel插入到源关系uk_rd_penst中,然后更新目标关系uk_status的元组。UK_Status和UK_RD_POSTAD具有主键-外键关系。 以下是参数:inputrel:TransId,Company,ICB_Code,RD2008 uk_rd_peston:Company,ICB_Code,RD_spend_2008 uk_status:Co

  • 我正在看一些旧代码,在运行一个单元测试时遇到了问题。 代码为: 但是,当试图准备语句时,它会抛出错误 用户缺少权限或找不到对象:CUSTOMERS_SEQ。下一个瓦尔。 我正在阅读错误本身,似乎找不到任何东西。奇怪的是,当我在本地运行查询选择CUSTOMERS_SEQ.NEXTVAL时,它工作正常。 任何和所有的帮助将不胜感激。

  • 问题内容: 因此,我已经在Google和堆栈中进行搜索,我发现了一堆错误相同的ppl,但是没有一种解决方案似乎可以解决我的问题。 我正在使用什么: Java 8 JavaEE7 TomEE 7.0 M3 JPA 2.0 ORM 1.0 Postgres 我认为问题在于命名查询,也许还有ManyToMany关系。 实体 User.java SystemRole.java XML配置 persiste