16. august 2001 - 11:04Der er
6 kommentarer og 1 løsning
Visual C++ og ACCESS
Hejsa - jeg har et problem med et loginsystem baseret på en table i Access...
Mit problem er som følger (Det skal lige siges at jeg ikke er så hulens erfaren =( )
Jeg har programmet sådan at når du starter programmet kommer en login box op - her skal tastes Username og Password...
Username og Password er gemt i en Access database i samme table og jeg skal gerne have det sådan at folk kan oprettes i databasen, og at programmet så tjekker databasen for brugernavn/password.
Jeg er da kommet så langt som at kunne sammenligne Databasen\'s aktive record med det indtastede. Jeg vil gerne have at når du taster dit brugernavn og password og trykker \"login\", skal den søge i databasen efter det indtastede brugernavn og sammenligne det indtastede password med det i databasen...
Er der evt. nogen der kan hjælpe mig med et eksempel på en programstump, der kan forklare mig hvordan jeg gør?
Hej.. Nu arbejder jeg i borland bulideren, men mon ikke det er nogenlunde detsamme.
\"Forsspørgslen\"->SQL->Clear(); \"Forsspørgslen\"->SQL->Add(\"SQL statement\"); \"Forsspørgslen\"->SQL->Add(\"where User_ID=:Param1 and Pass_ID=:Param2\"); Forsspørgslen->ParamByName(\"Param1\")->AsString=\"og der hvor du skriver dit brugerid f.eks Edit1->Text; \"Forsspørgslen\"->ParamByName(\"Param2\")->AsString=\"og der hvor du skriver dit password f.ekd Edit2->Text; Forsspørgslen->Open(); Forsspørgslen->First(); hile(!Forsspørgslen->Eof) { adg=true; DATA->Password->Next(); } if(adg) {
Form1->Show();
{
Dette er en men måde at gøre det på, og der findes sikker 400 andre måder :perfi
Hmmm - enter er jeg ufattelig dum, og fatter ingenting af din kode - eller også virker den bare ikke i VisualC++... \"Forsspørgslen\" hvad er det? Er det en pointer til mit Recordset, eller hvad er det? Under alle omstændigheder - hvis jeg bruger denne kode, kommer compileren med 35 fejl. Jeg kan prøve at uddybe det lidt :
Username variabel = m_strLoginUser Password variabel = m_strLoginPass Database username variabel = m_pSet->m_Username Database password variabel = m_pset->m_Password DSN = Login Tablename = Users
Nej, du kan selcfølgelig ikke compile det direkte. Min kode ser nogenlunde således ud, har bare pillet min exceptions ud (try/catch): DATA er der hvor jeg har gemt mine QUERY komponenter og Password er den Query jeg benytter: Form1 er den Form (unit, cpp eller. h) hvor jeg har erklæret de flest variabler. adg er en boolsk variabel. Form1->_user er en String hvori SQL sætningen ligger i: String _user; strcpy(_user,\"SELECT User_ID, Pass_ID, Name, Init, Lev FROM pass_multi\"); pass_multi er navnet på min database alias. Variablen er erklæret på en anden form (Form1) derfor en peger dertil ( HUSK at oprette et objekt af Form1 til denne form ( som hedder PasswordDlg );
DATA->Password->SQL->Clear(); DATA->Password->SQL->Add(Form1->_user); DATA->Password->SQL->Add(\"where User_ID=:Param1 and Pass_ID=:Param2\"); DATA->Password->ParamByName(Form1->p1)->AsString=Edit1->Text; DATA->Password->ParamByName(Form1->p2)->AsString=Edit3->Text; DATA->Password->Open(); DATA->Password->First(); while(!DATA->Password->Eof) { adg=true; Form1->Ini_1[_num]=DATA->Password->FieldByName(\"Init\")->AsString;//lægger værdien i en variabel Form1->Lev_1[_num]=DATA->Password->FieldByName(\"Lev\")->AsString; DATA->Password->Next(); ++_num; } if(adg) {
Form1->Show();
PasswordDlg->Visible=false;
{ else
\"FUCK OFF - DIN HACKER\" // forsjov..
DU kan også lave en try / catch på den, men jeg ved ikke om det er for tidligt ?? Hvis der er andre ting, så må du lige sige til :perfi
Jeg takker for den detaljerede forklaring, men har nu prøvet at gøre som du har beskrevet... Det lader til at syntaxen ikke er den samme, for mange af de kommandoer du har brugt forstår Visual C++ simpelthen ikke... Beklager at måtte være til så meget besvær =(
ARG nu fik jeg klokket i det - IGEN - *LOL* Jeg ville tildele nogle point til Perfi for hans besvær, men kom vist samtidig til at lukke spørgsmålet... DETTE EMNE ER IKKE SLUT ENDNU - kan man på nogen måde åbne det igen?
MVH Ozone
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.