السلام عليكم ورحمة الله..
ايه الخطأ في الكود ؟ :wacko:
السيناريو : تقوم الدالة بجرد محتويات الـ hashtable ثم يقوم بتخزينها بقاعدة البيانات .. ويتوضح بالكود :
الدالة :
public boolean insertOrder(String c_name, Hashtable cart, double total){
boolean done =false;
long bill_sn = System.currentTimeMillis();
Connection con ;
try{
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","root","root");
con.setAutoCommit(false);
Statement s = con.createStatement();
String sql = "insert into bill values("+bill_sn+","+c_name+","+total+")";
s.executeUpdate(sql);
Enumeration enm = cart.elements();
while(enm.hasMoreElements()){
Item shop_Item = (Item) enm.nextElement();// every row is Object ..
sql = "insert into bill_details values("+bill_sn+","+shop_Item.getProd_sn()+
","+shop_Item.getQTY()+","+shop_Item.getDISCOUNT()+","+shop_Item.getPAIED_TYPE()+
","+shop_Item.getCHECK_NO()+")";
s.executeUpdate(sql);
}
s.close();
con.commit();
con.close();
done = true;
}catch (SQLException e) {System.out.println(e.toString());}
return done;
}الجداول :
SQL> desc bill; Name Null? Type ----------------------------------------- -------- -------------- BILL_SN NOT NULL NUMBER(20) C_USER_NAME VARCHAR2(50) TOTAL NOT NULL FLOAT(126) SQL> desc bill_details; Name Null? Type ----------------------------------------- -------- -------------- BILL_SN NOT NULL NUMBER(20) PROD_SN NOT NULL NUMBER(38) QTY NOT NULL NUMBER(38) DISCOUNT FLOAT(126) PAIED_TYPE NOT NULL VARCHAR2(10) CHECK_NO NUMBER(38)
عند تنفيذ الدالة يعطيني هذا الاستثناء :
java.sql.SQLSyntaxErrorException: ORA-00984: column not allowed here
أرجو المساعدة :blush: