Login...mitnahme von Benutzername und Passwort!
-
Ja schon klar...
könntest mir bitte mal ein beispiel geben bitte...wie ich in den String reinschreiben kann...den syntax weiß ich nich!
Also einfach mal ein Codebeispiel?!
-
Hier ist genau das gleiche.
http://www.c-plusplus.net/forum/viewtopic.php?t=93756
-
Hmm...das is schon klar....ich weiß nur mit dem nix anzufangen:
String ur="000000000000";// String Aus Datenbank ur[7]='1'; //... In Datenbank schreibenkannst mir das mal in so ein ähnliches beispiel wie bei dem anderen Thread geben?!

-
String alt="101000000000"; String neu=alt; neu[7]='1'; String sql="UPDATE artikel SET passwort='"+neu+"' WHERE passwort='"+alt+"';"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();
-
Damit du nicht das eventuell gleiche Passwort bei anderen Benutzern änderst solltest du es so erweitern...

String alt="101000000000"; String neu=alt; neu[7]='1'; String sql="UPDATE artikel SET passwort='"+neu+"' WHERE passwort='"+alt+"' AND username='"+user+"';"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();
-

Sorry, bin zur Zeit etwas verwirrt. Nicht passwort sondern Rechte.
Im Code entsprechend ändern.....
-
Huh?
Wie was wo?
Passwort?
Ich wollte doch Rechte über Checkboxen ändern!
-
Kamill schrieb:
Huh?
Wie was wo?
Passwort?
Ich wollte doch Rechte über Checkboxen ändern![moralapostel on]
a) Les es dir nochmal genau durch...
b) Empfehle ich ein gutes Buch...
c) bin ich erstaunt wie geduldig Fragg ist
Respekt!
d) Empfehle ich ein gutes Buch...
e) Such dir vielleicht mal ein gutes Tutorial...
f) Empfehle ich ein gutes Buch...
[moralaposten off]
-
Ja gutes Buch....schön!
Und fragg is halt nen netter typ =)!
Werde es mal ausprobieren, und wenns nich geht meld ich mich wieder!
-
Und wie ich vorher sagte, bitte Passwörter als mindestens in MD5 verschöüsseln und nicht klar Text... Sonst bringen die Passwörter überhaupt nix.
-
So jetz haben wir mein Programm aber langsam fertig.

String alt="101000000000";//Nur Beispiel Das was vorher in der Datenbank war. String user = DeinBenutzerEdit->Text;//Dein Edit für Benutzername String neu=alt; neu[7]='1'; String sql="UPDATE artikel SET MaRechte='"+neu+"' WHERE MaRechte='"+alt+"' AND username='"+user+"';"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();
-
Manchmal tippt man sich echt nen Scheiß zusammen.
Zu meiner Entschuldigung: - alles ohne BCB -
String ur="101000000000";//Nur Beispiel Das was vorher in der Datenbank war. String user = DeinBenutzerEdit->Text;//Dein Edit für Benutzername ur[7]='1'; String sql="UPDATE artikel SET MaRechte='"+neu+"' WHERE username='"+user+"';"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();
-
Na wenn sich einer entschuldigen muss dann wohl ich....!
So jetzt frag ich verständiss halber nochmal nach, wenn ich nur über CheckBox die MaRechte ändern will...User erstmal ausenvor gelassen:
String ur="101000000000; String ur2=ur; ur2[7]='1'; String sql="UPDATE artikel SET MaRechte='"+ur2+"'"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();müsste ich mir das dann so vorstelln?
Ich entschuldige mich nochmal....bin im berecih SQL nen Anfänger...nur das hier muss ich eben schnell hinbekommen!

-
Hallo,
mit
String sql="UPDATE artikel SET MaRechte='"+ur2+"'";würdest du für alle Benutzer die selben Rechte setzen.
daher würde das hier besser passen.
String sql="UPDATE benutzer SET MaRechte='"+ur+"' WHERE username='"+user+"';";damit würdest du nur für einen bestimmten Benutzer die Rechte ändern.
also:UPDATE Tabellenname! SET MaRechte='Neuer Wert!' WHERE Benutzername! = 'Benutzer!';
-
Aha...und wenn ich ein komplett neues Recht anlegen will in der Tabelle Rechte?(Weil da stehen nur die Strings drin)
Also habe dann dementsprechend 12 Checkboxen (für jeden Button einen)!
Hier bleibt dann ja User wirkl ausen vor!String ur="000000000000; String ur2=ur; ur2[7]='1'; String sql="UPDATE Rechte SET MaRechte='"+ur2+"'"; Query1->SQL->Clear(); Query1->SQL->Add(sql); Query1->ExecSQL();würde das so gehen?, also wenn das die checkbox für den siebten button wäre?
-
Wofür eine Tabelle Rechte ?
Warum nimmst du die Rechte nicht mit in die "Benutzertabelle" ?
Wie ordnest du denn die Rechte in deiner "Rechtetabelle" deinen Usern zu ?
Extra wieder einen Schlüssel und eine zusätzliche Tabelle für die Zuordnung?
-
Naja ch brauch ja eine Tabelle Rechte, weil ich als Administrator auch neue rechte anlegen will..und die kann ich nicht in die Benutzertabelle schreiben!
Darum geht es mir!
Aber würde mein Beispiel so funktionieren?
-
Naja ch brauch ja eine Tabelle Rechte, weil ich als Administrator auch neue rechte anlegen will..und die kann ich nicht in die Benutzertabelle schreiben!
Du willst also so eine Art Rechtetypen erstellen und der Admin soll später diese Typen den Usern zuordnen können ?
Aber würde mein Beispiel so funktionieren?
Dann würdest du alle vorher mit INSERT eingefügten Rechte ändern.
Beim SQL Statement fehlt das WHERE MaRechte = 'alte MaRechte' bzw. Schlüsselnr.
-
Ja ich habe eine Tabelle nur mit den Rechten, da kann der Admin verändern und hinzufügen usw...diese ist mit Usertabelle verknüpft!
Und Admin kann dann User anlegen und deinen die Rechte zuordnen!
Wie wäre Code da am besten?
-
Also hab mal was probiert...geht zwar nich...bringt aber auch keine Fehler...viell seht ihrs ja gleich!:
Also um per CheckBox einen Button zu aktivieren (also eine 1 in den String an bestimmte stelle schreiben)
void __fastcall TForm14::Button1Click(TObject *Sender) { if (CheckBox1->Checked) { String ur = Form3->Query1->FieldByName("MARechte")->AsString; String ur2=ur; ur2[7]='1'; String sql ="UPDATE Login SET MARechte ='"+ur2+"' WHERE MARechte ='"+ur+"'"; Form3->Query1->SQL->Clear(); Form3->Query1->SQL->Add(sql); Form3->Query1->ExecSQL(); } else { String ur = Form3->Query1->FieldByName("MARechte")->AsString; String ur2=ur; ur2[7]='1'; String sql ="UPDATE Login SET MARechte ='"+ur2+"' WHERE MARechte ='"+ur+"'"; Form3->Query1->SQL->Clear(); Form3->Query1->SQL->Add(sql); Form3->Query1->ExecSQL(); }So also er ändert nix...wieso?
und dann um auszulesen wo eine 1 und 0 steht...und wenn 1 steht Checkbox checked...sonst nicht checked!
Da ich das zu ändernde Recht aus Tabelle auswählen kann...und jedes Recht ja schon Buttons 1 oder 0 hat...sollen die Checkboxen eben anzeigen welche Buttons aktiv und welche nicht aktiv sind...void __fastcall TForm14::FormActivate(TObject *Sender) { Form3->Query1->SQL->Clear(); Form3->Query1->SQL->Add("select * from Login"); Form3->Query1->Open(); String str = Form3->Query1->FieldByName("MARechte")->AsString; if (str[1] == '1') CheckBox1->Checked=true; else CheckBox1->Checked=false; if (str[2] == '1') CheckBox2->Checked=true; else CheckBox2->Checked=false; if (str[3] == '1') CheckBox3->Checked=true; else CheckBox3->Checked=false; if (str[4] == '1') .....da hat er das erst mal die Hacken richtig gesetzt, und jetzt stehen sie bei jedem start wie beim ersten mal!
Also woran kanns liegen?