Ερώτηση για SQL Statement

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
pantelispyla
Δημοσιεύσεις: 45
Εγγραφή: 06 Νοέμ 2009 10:20

Ερώτηση για SQL Statement

Δημοσίευση από pantelispyla » 03 Ιούλ 2010 21:57

Έχω αυτό το CallableStatement μαζί με το ResultSet του.

Κώδικας: Επιλογή όλων

CallableStatement stmt_savecompfor= con.prepareCall("insert into companyfor (company_id, activities_id, price, date_start, date_end, income_id, notes, isrecursive, whenrecursive, completed, when, difference)values('"+companyid+"', '"+activitiesid+"', '"+price+"', '"+ds_for+"', '"+de_for+"', '"+prov_cust+"', '"+notes+"', '"+isrecursive+"', '"+whenrecursive+"', '"+completed+"', '"+when+"', '"+difference+"')");
                        stmt_savecompfor.executeUpdate();
                        con.commit();
και όταν το εκτελεί πετάει error λόγω του Exception που του έχω βάλει. Το error λέει:

Κώδικας: Επιλογή όλων

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'when, difference)values('3', '1', '112', '2010-07-03', '2010-07-04', '3', 'test'' at line 1
Αν κάποιος καταλάβει κάτι ή γνωρίζει τι μπορεί να φταίει ας μου το πει..Ευχαριστώ.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτηση για SQL Statement

Δημοσίευση από dva_dev » 03 Ιούλ 2010 22:18

τα (insert) sql statements δεν γράφονται έτσι όταν χρησιμοποιείς δεσμευμένες λέξεις

Κώδικας: Επιλογή όλων

insert into table (reserved_word, reserved, ...) values ...
αλλά έτσι

Κώδικας: Επιλογή όλων

insert into table(`reserved_word`, `reserved`, ...) values ...
καλύτερα ακόμα θα ήταν να μην χρησιμοποιείς καμία από τις δεσμευμένες λέξεις. To συγκεκριμένο όπως σου λέει και το error message χτυπάει στο "when". Αν δεν μπορείς να αλλάξεις τα ονόματα στα πεδία σου βάλε τα σε `` (backquotes).

pantelispyla
Δημοσιεύσεις: 45
Εγγραφή: 06 Νοέμ 2009 10:20

Ερώτηση για SQL Statement

Δημοσίευση από pantelispyla » 04 Ιούλ 2010 00:33

Ευχαριστώ για την απάντηση αλλά μπορείς να μου πεις τι ακριβώς είναι οι δεσμευμένες λέξεις που λες. Δηλαδή ποιες ειναι οι λειτουργίες τους και τι εννοια έχουν;

pantelispyla
Δημοσιεύσεις: 45
Εγγραφή: 06 Νοέμ 2009 10:20

Ερώτηση για SQL Statement

Δημοσίευση από pantelispyla » 04 Ιούλ 2010 00:51

Δουλεύει πάντως βάζοντας τα `` (backquotes). Αν μπορείς όμως εξήγησε μου γιατί χρειάζονται και γιατί συμβαίνει αυτό γιατί στο ίδιο project έκανα κι άλλα τέτοια inserts και δούλεψαν.


Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες