Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Συζητήσεις για την γλώσσα C και C++

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

Απάντηση
MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από MamRa » 06 Δεκ 2009 21:30

Καλησπέρα σε όλα τα μέλη του φορουμ...
Χρειάζομαι την βοήθεια για το ζήτημα της ημερομηνίας στον Builder !
Για να μπω κατευθείαν στο θέμα ...
Χειρίζομαι τον C++ Builder 2007, χρησιμοποιώ ADO connection και στέλνω τα δεδομένα μου σε ένα αρχείο της Access 2007 .
Για να το επιτύχω αυτό χρησιμοποιώ ADOQuery και την εντολή της SQL -> ("Insert into")
Πιο συγκεκριμένα ...
ADOQuery1->SQL->Text="INSERT INTO TABLE1 (ONOMA, EPWNYMO, HM_GENNISIS )
VALUES ('"+Edit1->Text+"', '"+Edit2->Text+"', '"+Edit3->Text+"')";
Το παραπάνω παράδειγμα δεν δουλεύει ...
Προσπάθησα να χρησιμοποιήσω την DateValue κάπως έτσι ...
ADOQuery1->SQL->Text="INSERT INTO TABLE1 (ONOMA, EPWNYMO, HM_GENNISIS )
VALUES ('"+Edit1->Text+"', '"+Edit2->Text+"', DateValue('"+Edit3->Text+"'))";
Αλλά αν αφήσει ο χρήστης του προγράμματος κενό το κελί Edit3 , παρουσιάζει σφάλμα γιατί δεν δέχετε μηδενικές τιμές.
Επίσης ψέχνω πληροφορίες για ένα ερώτημα σύγκρισεις ημερομηνιών πάλι με ado...
p.x. να μπορεί ο χρήστης να δεί σε τρείς μήνες απο τωρα ποσοι και ποιοι εχουν γενέθλια ...
Αν γνωρίζει κάποιος ... Ευχαριστώ εκ των προτέρων !


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

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από dva_dev » 06 Δεκ 2009 22:47

Χρησιμοποίησε παραμέτρους και όχι καρφωτό sql statement.

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από MamRa » 06 Δεκ 2009 23:02

Αν μπορείς δώσε μου ένα παράδειγμα για να καταλάβω τι εννοείς ...
Ότι υπάρχει στο διαδίκτυο για αυτό το θέμα είναι στα κινέζικα, και δεν καταλαβαίνω τι κάνουν !

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από virxen75 » 07 Δεκ 2009 00:57

Αλλά αν αφήσει ο χρήστης του προγράμματος κενό το κελί Edit3 , παρουσιάζει σφάλμα γιατί δεν δέχετε μηδενικές τιμές.

με if δες αν έχει τιμή και όχι κενό ή 0
και αν έχει τιμή τότε --->sql
αλλιώς μήνυμα λάθους "βάλε δεδομένα" --->όχι sql

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από MamRa » 07 Δεκ 2009 02:57

Οκ , θα το δοκιμάσω και θα σας πω...

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από MamRa » 07 Δεκ 2009 21:00

Δεν λειτουργεί για δύο λόγους ,
Ο ένας είναι γιατί μέσα σε μία φόρμα έχω 6 ημερομηνίες , για σκέψου πόσες if πρέπει να κάνω για να καλύψω τον συνδιασμό τους.
Και έπειτα αν ο χρήστης πάει και δώσει καταλάθος στο πεδίο την τιμή "03/0Ρ/Ο9" θα ξαναχτυπίσει σφάλμα, έχει να προτείνει κανείς κάποιο άλλο τρόπο ?

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από MamRa » 08 Δεκ 2009 07:31

Κάπου βρήκα ότι αν βάλω μέσα σε διέσεις το editbox δηλαδή κάπως έτσι #'"+Edit1->text+"'#
θα λειτουργήσει , αλλά τίποτα ...

Άβαταρ μέλους
virxen75
Δημοσιεύσεις: 493
Εγγραφή: 18 Φεβ 2009 00:17
Τοποθεσία: ΗΡΑΚΛΕΙΟ ΚΡΗΤΗΣ

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από virxen75 » 08 Δεκ 2009 10:20

φτιάξε μία συνάρτηση τύπου

boolean checkDate(String){
....
}

που θα ελέγχει την τιμή κάθε edit box και μετά αν όλες αληθής τότε --->sql

να και ένα παράδειγμα να το προσαρμόσεις

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


bool checkdate(int m, int d, int y)
{
//gregorian dates started in 1582
if &#40;! &#40;1582<= y &#41; &#41;//comment these 2 lines out if it bothers you
return false;
if &#40;! &#40;1<= m && m<=12&#41; &#41;
return false;
if &#40;! &#40;1<= d && d<=31&#41; &#41;
return false;
if &#40; &#40;d==31&#41; && &#40;m==2 || m==4 || m==6 || m==9 || m==11&#41; &#41;
return false;
if &#40; &#40;d==30&#41; && &#40;m==2&#41; &#41;
return false;
if &#40; &#40;m==2&#41; && &#40;d==29&#41; && &#40;y%4!=0&#41; &#41;
return false;
if &#40; &#40;m==2&#41; && &#40;d==29&#41; && &#40;y%400==0&#41; &#41;
return true;
if &#40; &#40;m==2&#41; && &#40;d==29&#41; && &#40;y%100==0&#41; &#41;
return false;
if &#40; &#40;m==2&#41; && &#40;d==29&#41; && &#40;y%4==0&#41; &#41;
return true;
 
return true;
&#125;

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

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από dva_dev » 08 Δεκ 2009 11:22

Δες και το http://www.yevol.com/en/bcb/Lesson33.htm, θα σε βοηθήσει με τις ημερομηνίες.

MamRa
Δημοσιεύσεις: 29
Εγγραφή: 06 Δεκ 2009 21:07

Πρόβλημα εισαγωγής ημερομηνίας (Access,ADO,Borland c++ 2007)

Δημοσίευση από MamRa » 08 Δεκ 2009 17:46

Φίλοι μου virxen75 και dva_dev ευχαριστώ για την πολύτιμη βοήθεια και τον χρόνο σας ! Οσο αφορά τον σύνδεσμο που μου έστειλες dva_dev, θα μου φανεί πολύ χρήσιμος και για να κλειδώσω το πρόγραμμα με βάση την ημερομηνία του συστήματος ...
Ευχαριστώ πολύ, αν προκύψει κάποιο πρόβλημα, θα ενημερώσω !

Απάντηση

Επιστροφή στο “C, C++”

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

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