Ελεγχος αν δεν υπάρχει ο κωδικός στην βαση

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

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

Απάντηση
SoulHunter
Δημοσιεύσεις: 4
Εγγραφή: 24 Δεκ 2009 20:09

Ελεγχος αν δεν υπάρχει ο κωδικός στην βαση

Δημοσίευση από SoulHunter » 24 Δεκ 2009 20:22

εχω τον παρακατω κώδικα ο οποίος ελεγχει αν υπάρχει ο κωδικός που βάζουμε σε ενα EditBox στην βάση και το αποθηκεύει στην μεταβλητή s1 τώρα αν υπάρχει ο κωδικος το s1 πέρνει τον κωδικό αν δεν υπάρχει όμως η αναζήτηση δεν επιστρέφει τιποτα και πετάει σφάλμα.
πώς μπορω να ελέγχο αν δεν υπάρχει ο κωδικός στην βάση???
(ξερω τα ειπα λιγο μπερδεμένα οπότε οτι δεν καταλάβατε ρωτήστε με)


void CheckCode(AnsiString job1, AnsiString kwdikos1)
{
kwdikos=kwdikos1;

Form11->ADOQuery1->SQL->Clear();
Form11->ADOQuery1->SQL->Text = "SELECT password from employers where (password='"+kwdikos+"' ";
Form11->ADOQuery1->ExecSQL();
Form11->ADOQuery1->Active=True;
s1=Form11->ADOQuery1->FieldValues["password"] ;


π.χ

αν πώ

if (s1=Edit1->Text) //δηλαδη υπάρχει ο κωδικός στην βάση
{
καποιες εντολές
}
else //δηλαδη δεν υπάρχει ο κωδικός στην βάση
{
καποιες αλλες εντολες
}


αυτος ο κωδικας πετάει σφαλμα γιατι αν δεν βρει τον κωδικό στην βαση επιστρέφη Null στο s1 που ειναι AnsiString


if (s1==NULL) //δηλαδη δεν υπάρχει ο κωδικός στην βάση
{
καποιες εντολές
}
else //δηλαδη υπάρχει ο κωδικός στην βάση
{
καποιες αλλες εντολες
}

αυτο δεν δουλευει



καμια άλλη ιδέα

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27617
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Ελεγχος αν δεν υπάρχει ο κωδικός στην βαση

Δημοσίευση από cordis » 24 Δεκ 2009 20:31

δε ξέρω τι βάση χρησιμοποιείς, αλλά εάν είσαι σε ms sql server μπορείς να βάλεις isnull(password,'') as password και εάν είναι null σου επιστρέφει κενό οπότε δε θα έχεις πρόβλημα.

μια άλλη ιδέα είναι να το κάνεις με count(*) εάν φέρει 0 δεν υπάρχει..
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

SoulHunter
Δημοσιεύσεις: 4
Εγγραφή: 24 Δεκ 2009 20:09

Ελεγχος αν δεν υπάρχει ο κωδικός στην βαση

Δημοσίευση από SoulHunter » 24 Δεκ 2009 20:43

cordis έγραψε:δε ξέρω τι βάση χρησιμοποιείς, αλλά εάν είσαι σε ms sql server μπορείς να βάλεις isnull(password,'') as password και εάν είναι null σου επιστρέφει κενό οπότε δε θα έχεις πρόβλημα.

μια άλλη ιδέα είναι να το κάνεις με count(*) εάν φέρει 0 δεν υπάρχει..
Ευχαριστω για την απαντηση ...
Αν ισχυει το isnull και για Access θα το δοκιμασω προς το παρων το ελυσα με εναν αλλο τροπο που δεν μου πολυ αρεσει απλα δεν εβαλα μεταβλητη το περασα κατευθειαν στον ελεγχο

δηλαδη

if(Form11->ADOQuery1->FieldValues["password"]!=Form11->Edit1->Text)
{
MessageBox(NULL,"λαθος κωδικος","Σφαλμα", MB_OK | MB_ICONERROR);
}

Απάντηση

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

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

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