Może kod wam pomoże w zdiagnozowaniu problemu.
Jest to kod formy 1, są jescze 2,3 i 4 z czego form4 odnosi sie do form1 z takim poleceniem:
with Form1 do
begin
SQL.CommandText := 'SELECT kasa FROM users WHERE login = '+ QuotedStr(login.Text);
SQL.Open;
stankonta.caption:=(SQL.FieldValues['kasa']);
loggedas.caption:=login.Text;
logged:=true;
zalogowany.Caption:='tak';
SQL.Close;
SQL.CommandText := Format('UPDATE users SET aktywny="1" WHERE login="%s"', [login.Text]);
SQL.ExecSQL(True);
LoadTable;
end;
Natomiast to jest kod formy1:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DBXpress, FMTBcd, DB, SqlExpr, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Program1: TMenuItem;
N1: TMenuItem;
Zalogujsi1: TMenuItem;
Zakocz1: TMenuItem;
N2: TMenuItem;
Pienidze1: TMenuItem;
Wp1: TMenuItem;
Wyplac1: TMenuItem;
Gra1: TMenuItem;
Zasady1: TMenuItem;
Pomoc1: TMenuItem;
Stronadomowa1: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
MySQL: TSQLConnection;
SQL: TSQLDataSet;
Label1: TLabel;
loggedas: TLabel;
Wylogujsi1: TMenuItem;
N5: TMenuItem;
stankontalbl: TLabel;
stankonta: TLabel;
gracze: TListView;
Label2: TLabel;
StatusBar1: TStatusBar;
liczbagraczy: TLabel;
zalogowany: TLabel;
procedure N1Click(Sender: TObject);
procedure Zakocz1Click(Sender: TObject);
procedure Zalogujsi1Click(Sender: TObject);
procedure Wylogujsi1Click(Sender: TObject);
procedure LoadTable;
procedure FormCloseQuery(Sender: TObject; var Action: TCloseAction);
private
public
{ Public declarations }
end;
var
Form1: TForm1;
zbanowany: integer;
logged: boolean;
canclose: boolean;
implementation
uses Unit2, Unit4;
{$R *.dfm}
procedure TForm1.LoadTable;
var
i : Integer;
ListItem : TListItem;
begin
gracze.Items.Clear;
SQL.CommandText := 'SELECT * FROM users ORDER BY kasa DESC'; // zapytanie
SQL.Open; // odczytaj dane
for I := 1 to SQL.RecordCount do
begin
{ dodaj kolejne wartości }
ListItem := gracze.Items.Add;
ListItem.Caption := (SQL.FieldValues['login']);
ListItem.SubItems.Add(SQL.FieldValues['kasa']);
ListItem.SubItems.Add(SQL.FieldValues['stan']);
SQL.Next;
end;
SQL.Close;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Form2.Show
end;
procedure TForm1.Zakocz1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Zalogujsi1Click(Sender: TObject);
begin
Form4.show;
end;
procedure TForm1.Wylogujsi1Click(Sender: TObject);
begin
logged:=false;
SQL.CommandText := Format('UPDATE users SET aktywny="0" WHERE login="%s"', [loggedas.caption]);
SQL.ExecSQL(True);
loggedas.caption:='';
stankonta.caption:='';
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var Action: TCloseAction);
begin
CanClose:=False;
SQL.CommandText := Format('UPDATE users SET aktywny="0" WHERE login="%s"', [loggedas.caption]);
SQL.ExecSQL(True);
CanClose:=True; //Raczej nie potrzebne
Form1.Close;
end;
end.