Niezgodność typów - baza danych

0

Witam!
Właśnie piszę baze danych i napotkałem taki problem:

Table.DatabaseName := 'MyDatabase';
  Table.TableType := ttParadox;
  Table.TableName := 'MainTable';
  if not Table.Exists then
  begin
    with Table.FieldDefs do
    begin
      with AddFieldDef do
      begin
        Name := 'Grupa'; // nazwa parametru Grupa
        DataType := ftString; // typ parametru String
        Required := True;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Podgrupa'; // nazwa parametru
        DataType := ftString; // typ parametru  String
        Required := True;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Producent'; // nazwa parametru
        DataType := ftString; // typ parametru string
        Required := True;  // pole jest wymagane
      end;
       with AddFieldDef do
      begin
        Name := 'Nazwa'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := True;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Cena'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := True;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Marża'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := True;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Kod'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := True;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Gwarancja'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := false;  // pole jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Opis'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := true;  // pole nie jest wymagane
      end;
      with AddFieldDef do
      begin
        Name := 'Stan'; // nazwa parametru
        DataType := ftString; // typ parametru
        Required := True;  // pole jest wymagane
      end;

    end;
    { utwórz tabele }
    Table.CreateTable;
  end;
  Table.Active:=true;
  ShowMessage(IntToStr(max));
  For i:=1 to max do
  begin
   Grupa := StringGrid1.Cells[0,i];
   Podgrupa := StringGrid1.Cells[1,i];
   Producent:= StringGrid1.Cells[2,i];
   Nazwa := StringGrid1.Cells[3,i];
   Cena := StringGrid1.Cells[4,i];
   Marza := StringGrid1.Cells[5,i];
   Kod := StringGrid1.Cells[6,i];
   Gwarancja:= StringGrid1.Cells[7,i];
   Opis := StringGrid1.Cells[8,i];
   Stan := StringGrid1.Cells[9,i];
   Table.Append;
   Table.FieldValues['Grupa'] := Grupa;
   Table.FieldValues['Podgrupa'] := Podgrupa;
   Table.FieldValues['Producent'] := Producent;
   Table.FieldValues['Nazwa'] := Nazwa;
   Table.FieldValues['Cena'] := Cena;
   Table.FieldValues['Marża'] := Marza;
   Table.FieldValues['Kod'] := Kod;
   Table.FieldValues['Gwarancja'] := Gwarancja;//w tym miejscu sie zatrzymuje
   Table.FieldValues['Opis'] := Opis;
   Table.FieldValues['Stan'] := Stan;
   Table.Post;
  end;

W string gridzie Gwarancja jest normalnym stringiem, a w tym miejscu sie zatrzymuje i wywala błąd:raised exception class EVariantError with message:Invalid variant type conversion. itd. Prosze, przeanalizujcie ten kod i podpowiedzcie mi jak mam to naprawic :/ Musze to zrobić jak najszybciej...

Z góry dziękuje za odpowiedzi!

0

poczytaj o SQLu i o FieldByName('nazwa_pola').AsTypPola

0

No właśmnie chodzi o to że nie mam czasu czytać o SQLu a probrgam ba być zrealizowany za pomocą Table. Prosze o jakiś kod źródłowy przykładowy.

0

Table.FieldByName('nazwa').AsString := ZmiennaString

1 użytkowników online, w tym zalogowanych: 0, gości: 1