java - “UCanAccess:用户缺少权限或找不到对象”第二个连接
问题描述
现在我正在创建一个仪表板;我需要JTable
从 MS-Access 数据库中填写信息,为此我正在使用此代码。
try {
con3 = Connectionz3.getConnection();//Connection Object
String dashboard2 = "Select * FROM [First_Entry]";
pst3 = con.prepareStatement(dashboard2);
rs3 = pst3.executeQuery();
dtabla.setModel(DbUtils.resultSetToTableModel(rs3));
PrinMenu.setVisible(false);
Dashboard.setVisible(true);
}
catch (SQLException ex) {
Logger.getLogger(Signin_Panel.class.getName()).log(Level.SEVERE, null, ex);
}
我得到了错误:
严重:空
net.ucanaccess.jdbc.UcanaccessSQLException:UCAExc:::4.0.4 用户缺少权限或找不到对象:FIRST_ENTRY
奇怪的是,我正在使用以下代码调用同一个数据库:
con2 = Connectionz2.getConnection(); //Connection Object
String query = "INSERT INTO [First_Entry](Entry_ID, Entrydate, Category_Call, VA_Creator, Name_Creator, VA_Agent, Name_Agent, Call_Date, Call_ID, q1,q2,q3,q4,q5,q6,q7,q8,q9,q10,q11,q12,q13,q14,q15,q16,q17,q18)" +
"values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement preparedStmt = con2.prepareStatement(query);
preparedStmt.setInt(1, 0);
preparedStmt.setString(2,cdate);
preparedStmt.setString(3, Catcall);
preparedStmt.setString(4, userva);
preparedStmt.setString(5, fname+" "+lname);
preparedStmt.setString(6,agentva);
preparedStmt.setString(7,agentname);
preparedStmt.setString(8, dotc);
preparedStmt.setString(9, callid);
preparedStmt.setInt(10, quest1);
preparedStmt.setInt(11, quest2);
preparedStmt.setInt(12, quest3);
preparedStmt.setInt(13, quest4);
preparedStmt.setInt(14, quest5);
preparedStmt.setInt(15, quest6);
preparedStmt.setInt(16, quest7);
preparedStmt.setInt(17, quest8);
preparedStmt.setInt(18, quest9);
preparedStmt.setInt(19, quest10);
preparedStmt.setInt(20,quest11);
preparedStmt.setInt(21,quest12);
preparedStmt.setInt(22,quest13);
preparedStmt.setInt(23,quest14);
preparedStmt.setInt(24,quest15);
preparedStmt.setInt(25,quest16);
preparedStmt.setInt(26,quest17);
preparedStmt.setInt(27,quest18);
preparedStmt.execute();
con2.close();
这次它起作用了。
我不知道我是否以错误的方式调用了该对象。我试图更改位置,更改表的名称但不起作用。使用其他数据库填充JTable
作品没有任何问题,有什么建议吗?
解决方案
看起来你的问题在这里:
con3 = Connectionz3.getConnection();//Connection Object
String dashboard2 = "Select * FROM [First_Entry]";
pst3 = con.prepareStatement(dashboard2);
请注意您如何con3
在上面的第一行定义,然后在上面的第三行使用con
而不是con3
.
所以将第三行更改为:pst3 = con3.prepareStatement(dashboard2);
推荐阅读
- python - 如何使用 matplotlib 滑块更改 PerlinNoise 参数?
- c - 如何从经过时间中排除暂停时间
- html - 为什么 angular 用这个 calc 表达式清理 css?
- javascript - 如何在 React Redux 中存储和加载实例化对象?
- python - 通常此类方法的第一个参数名为“mcs”
- python - 根据熊猫中的金额制作列标志
- r - 如何使用 ggplot2 可视化样条回归?
- javascript - 从函数返回 HTTP 请求
- arduino - ESP32 MQTT 客户端卡在 client.subscribe()
- ios - SwiftUI 选择器不滚动到选择