Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » C# und MySQL

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ] [ 6 ] [ 7 ]
020
06.04.2006, 18:04 Uhr
Eroli



Ich habe kein Table "users" angelegt, sonder eine DB "users". In der DB "users" befinden sich KEINE Tables.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
06.04.2006, 18:17 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
hatte ich in Deinem vorherigen Post überlesen (Du brauchst nur eine Tabelle, nicht für jeden User eine ). Mach Dir mal gedanken, welche Informationen Du in der Tabelle speichern willst.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
06.04.2006, 20:59 Uhr
Eroli



Also. dann bräuchte ich eine Tabelle in der 1. Benutzername; 2. Passwort(Verschlüsselt???) und dann noch so ungefährt 10 andere Daten. Muss ich die alle von Anfang an wissen oder kann ich später einfach noch welche einfügen???

EDIT:
hab mir das nochmal überlegt:
Ich bräuchte:

Username String?
Password Verschlüsselt?

14 Felder INTEGER

BekannteSpieler String oder Integer oder am besten beides

Da könnte aber schnell noch ein Integerfeld dazu kommen, kann man später noch ändern??

Zu Testzwecken reicht das Feld Username und Password, damit ich schonmal eine Anmeldung machen kann.

Wie genau geht das jetzt?????

Dieser Post wurde am 06.04.2006 um 21:50 Uhr von Eroli editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
06.04.2006, 22:38 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Code:
CREATE TABLE `tabelle` (
  `id` INTEGER(10) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(255) NOT NULL,
  `password` VARCHAR(255) NOT NULL,
  `int1` INTEGER(10) NOT NULL,
  `int2` INTEGER(10) NOT NULL,
  `int3` INTEGER(10) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user` (`user`)
);





dann


Code:
INSERT INTO `tabelle` VALUES ( '', "user", CRYPT("password"), 1, 2, 3);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
06.04.2006, 22:41 Uhr
Eroli



Danke, aber wie wärs mit einer kleinen Erklärung???

was macht id?
int1-3 sind diese Integerfelder die ich meinte??

Was sind die beiden Keys am ende???


Was macht der zweite Code im detail??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
06.04.2006, 23:32 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
ist jetzt nicht böse gemeint, aber ohne SQL Grundlagen (siehe Reyx's Post) kommst Du bei DB Anwendungen nicht weit. Nimm die Hilfe von MySql und versuche zu verstehen was passiert.
Bin ab morgen Abend wieder @Home. Dann könnten wir den C# Teil besprechen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
06.04.2006, 23:37 Uhr
Eroli



Angebot angenommen.
Gute Nacht!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
07.04.2006, 21:57 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
die Tabelle hab ich etwa so angelegt wir Flo es geschrieben hat (bis auf ein paar Änderungen, die int1-3 brauchen nicht unbedingt not null seien.)

Code:
CREATE TABLE `t_user` (
  `id` INTEGER(10) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(255) NOT NULL,
  `password` VARCHAR(255) NOT NULL,
  `int1` INTEGER(10) NOT NULL,
  `int2` INTEGER(10) NOT NULL,
  `int3` INTEGER(10) NOT NULL,
  PRIMARY KEY (`id`)
);


Dann die Verbindung zur Database im Programm mit einer MsqlConnection hergestellt.
Verbindungsstring:Server=localhost;UserId=root;Database=users
Da ich zu faul war meine Linux Möhre anzuwefen hab ich das mit xampp getestet, deshalb kein Kennwort!
Dann im Quellcode:

C++:
private void Form1_Load(object sender, System.EventArgs e
{
    string sSql="INSERT INTO t_user VALUES (0, 'ich', 'userpwd', 1, 2, 3);";
    MySqlCommand cmd = new MySqlCommand();
    cmd.Connection=conn;
    cmd.CommandText=sSql;
    if (conn.State==ConnectionState.Closed)
        conn.Open();
    try
    {
        int nDs = cmd.ExecuteNonQuery();
        string sResult;
        if (nDs > 0)
            sResult="Datensatz erfolgreich eingefügt.";
        else
            sResult="Datensatz konnte nicht eingefügt werden.";
        MessageBox.Show(this,sResult);
    }
    catch(MySqlException ex)
    {
        MessageBox.Show(this,"Fehler beim schreiben des Datensatzes: "+ex.Message,"Fehler",MessageBoxButtons.OK,MessageBoxIcon.Error);
    }
    finally
    {
        conn.Close();
    }
}


Fertsch!

Bearbeitung von Uwe:
Da id nicht leer seine darf, muss dort ein Wert gesetzt werden. Da er auf Autoincrement steht kann dort immer 0 stehen, da die Sequenz vor dem einfügen (Before Insert) den nächsten Wert bereitstellt.

Nachtrag: mit string sSql="INSERT INTO t_user VALUES (null, 'ich', 'userpwd', 1, 2, 3);";
sollte das auch funktionieren. Da ich nicht weiß was CRYPT ist (Stored Procedure etc.)
und der Aufruf einen Fehler wirft, hab ich das verschlüsseln weg gelassen.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 07.04.2006 um 22:29 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
07.04.2006, 23:11 Uhr
Eroli



Jo Super!

Danke uwe. werde es gleich mal mit meinem 4.1 MySQL Server probieren


Eroli
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
08.04.2006, 10:31 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
bevor die Frage nach der Darstellung in einem DataGrid kommt:

C++:
MySqlDataAdapter da = new MySqlDataAdapter();
da.SelectCommand = new MySqlCommand();
da.SelectCommand.Connection=conn;
da.SelectCommand.CommandText="SELECT * FROM t_user";
DataSet ds = new DataSet();
DataView dv = new DataView();
da.Fill(ds,"t_User");
dv.Table = ds.Tables[0];
grdUser.DataSource=dv;


grdUser -> DataGrid
Insert, Update, Delete analog.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 < [ 4 ] [ 5 ] [ 6 ] [ 7 ]     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: