Code: Alles auswählen
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| Name | text | NO | | NULL | |
| Passwd | text | NO | | NULL | |
| Key | int(11) | NO | PRI | NULL | auto_increment |
| GamesPlayed | int(11) | NO | | NULL | |
| Rating | int(11) | NO | | NULL | |
| Registered | datetime | NO | | NULL | |
| LastConnect | datetime | NO | | NULL | |
| LastIP | text | NO | | NULL | |
| LastMac | text | NO | | NULL | |
| Messages | text | NO | | NULL | |
| AllowKibitz | tinyint(1) | NO | | NULL | |
| Email | varchar(255) | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
12 rows in set (0.00 sec)
Code: Alles auswählen
Query.Cancel;
Query.Append;
Query.FieldValues['Name'] := aSender.PlayerName;
Query.FieldValues['Passwd'] := aRecvMsg.Value('Password','');
Query.FieldValues['Key'] := '0';
Query.FieldValues['GamesPlayed']:=0;
Query.FieldValues['Rating']:=1000;
Query.FieldValues['Registered']:=Now;
Query.FieldValues['LastConnect']:=Now;
Query.FieldValues['LastIP'] := aSender.ClientSocket.GetRemoteSinIP;
Query.FieldValues['LastMac'] :=aRecvMsg.Value('UID','');
Query.FieldValues['Messages']:='';
Query.FieldValues['AllowKibitz'] :=true;
Query.FieldValues['Email'] :=aRecvMsg.Value('Email','');
Query.Post;
Query.ApplyUpdates; //to apply update
Code: Alles auswählen
Field Name is required, but not supplied. (SELECT * FROM Users WHERE Name="Test123")
Mit der 5.0er Version von MariaDB hat das geklappt, auch ohne das (primary) Key=0. Mache ich was falsch?