Chciałem napisać procedurę zwracjącą tabelę z bazy danych. Ale coś widocznie robię nie tak bo mi po kompilacji wyskakuje :
object reference not set to an instance of an object
Kod progrmu:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBXpress, FMTBcd, Borland.Vcl.Db, Borland.Vcl.SqlExpr,
System.ComponentModel, Borland.Vcl.ComCtrls, Borland.Vcl.StdCtrls;
type
TMySQLDataSetForm = class(TForm)
SQLConnection: TSQLConnection;
SQLDataSet: TSQLDataSet;
ListView1: TListView;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure GetTabela2kol(Lista: TListItems; Tabela : String; Kolumna1 : String; Kolumna2 : String );
end;
var
MySQLDataSetForm: TMySQLDataSetForm;
implementation
{$R *.nfm}
procedure TMySQLDataSetForm.FormCreate;
begin
MySQLDataSetForm.GetTabela2kol(ListView1.Items, 'Table','Columnn2','Columnn3');
end;
procedure TMySQLDataSetForm.GetTabela2kol;
var
I : Integer;
ListItem : TListItem;
SQLQuery : String;
begin
SQLQuery := 'SELECT '+kolumna1+','+kolumna2+' FROM '+tabela;
SQLDataSet.CommandText := SQLQuery;
SQLDataSet.Open;
try
while not SQLDataSet.Eof do
for I := 0 to SQLDataSet.RecordCount - 1 do
begin
ListItem := Lista.Add;
ListItem.Caption := IntToStr(SQLDataSet.FieldValues[Kolumna1]);
ListItem.SubItems.Add(SQLDataSet.FieldValues[Kolumna2]);
SQLDataSet.Next;
end;
finally
SQLDataSet.Close;
end;
end;
end.
Może ktoś jet mi wstnie łopatologicznie wytłymaczyc o co biega, bo jetem początkujący w Delphi.