从 NetBeans 插入到 Access 数据库
Inserting into Access database from NetBeans
我在 java netbeans 中创建了一个基于 GUI 的酒店管理系统,它与 Ms Access 数据库相连。在数据库中,我有一个名为 "RoomInfo" 的 table。
当我尝试执行以下查询时,出现两种错误。
String sql = "INSERT INTO RoomInfo(RoomNumber,Reserved,RoomCategory,AirConditioned,
BedType, RentPerDay)VALUES("+objr.roomno+","+objr.reserved+","+objr.category+","
+objr.AirConditioned+","+objr.bedtype+","+objr.rent+")";
第一个错误是 net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 unexpected token: ,
当我将所有 Jtextfields 留空并尝试将新记录插入数据库时出现此错误。
第二个错误是 net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 user lacks privilege or object not found: Economy
(经济是房间类别的条目)当我在 Jtextfields 中输入数据并尝试将其保存到数据库中时出现此错误。
需要帮助来确定问题。
而不是将变量名称直接传递到 sql 字符串中,然后使用 ps.setString() 再次设置它们;只需在 sql 字符串中使用占位符。
我的意思是
String sql = "INSERT INTO RoomInfo (RoomNumber, Reserved, RoomCategory, AirConditioned, BedType, RentPerDay)
VALUES (?, ?, ?, ?,?)";
ps = con.prepareStatement(sql);
ps.setString(1, objr.roomno);
ps.setString(2, objr.reserved);
ps.setString(3, objr.category);
ps.setString(4, objr.AirConditioned);
ps.setString(5, objr.bedtype);
ps.setString(6, objr.rent);
我在 java netbeans 中创建了一个基于 GUI 的酒店管理系统,它与 Ms Access 数据库相连。在数据库中,我有一个名为 "RoomInfo" 的 table。
当我尝试执行以下查询时,出现两种错误。
String sql = "INSERT INTO RoomInfo(RoomNumber,Reserved,RoomCategory,AirConditioned,
BedType, RentPerDay)VALUES("+objr.roomno+","+objr.reserved+","+objr.category+","
+objr.AirConditioned+","+objr.bedtype+","+objr.rent+")";
第一个错误是 net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 unexpected token: ,
当我将所有 Jtextfields 留空并尝试将新记录插入数据库时出现此错误。
第二个错误是 net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.7 user lacks privilege or object not found: Economy
(经济是房间类别的条目)当我在 Jtextfields 中输入数据并尝试将其保存到数据库中时出现此错误。
需要帮助来确定问题。
而不是将变量名称直接传递到 sql 字符串中,然后使用 ps.setString() 再次设置它们;只需在 sql 字符串中使用占位符。 我的意思是
String sql = "INSERT INTO RoomInfo (RoomNumber, Reserved, RoomCategory, AirConditioned, BedType, RentPerDay)
VALUES (?, ?, ?, ?,?)";
ps = con.prepareStatement(sql);
ps.setString(1, objr.roomno);
ps.setString(2, objr.reserved);
ps.setString(3, objr.category);
ps.setString(4, objr.AirConditioned);
ps.setString(5, objr.bedtype);
ps.setString(6, objr.rent);