Показать сообщение отдельно
  #1  
Старый 06.08.2013, 00:55
Samigo Samigo вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию DBF файл типа Visual FoxPro не добавляет новые записи

Здрасти!
У меня DBF файл типа Visual FoxPro не добавляет новые записи.
Дает ошибку:
"Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний"
вот вся программа:

Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOTable1.Open;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

  // 1 вариант
  ADOTable1.AppendRecord([nil,'dddd']);

  // 2 вариант
  ADOTable1.Insert;
  ADOTable1.Fields.Fields[0].AsDateTime:=StrToDateTime('12.12.2012 12');
  ADOTable1.Post;

end;
end.
показывает и изменяет все как надо.

Но если дать команду
Код:
ADOTable1.Insert;
строка добавляется.
Даже можно вводит все что надо. По команде:
Код:
ADOTable1.Fields.Fields[0].AsDateTime:=StrToDateTime('12.12.2012 12');
Но когда перехожу на другой запись или даю команду
Код:
ADOTable1.Post;
эррор!

провыйдер:
Код:
Provider=VFPOLEDB.1;Data Source=C:\PROJECTS\DELPHI\VFP2;Mode=ReadWrite|Share Deny Read|Share Deny Write;Extended Properties="";User ID="";Password="";Mask Password=False;Cache Authentication=False;Encrypt Password=False;Collating Sequence=MACHINE;DSN="";DELETED=True;CODEPAGE=1251;MVCOUNT=16384;ENGINEBEHAVIOR=90;TABLEVALIDATE=3;REFRESH=5;VARCHARMAPPING=False;ANSI=True;REPROCESS=5

Я давно не программировал на делфи. И почти ничего не знаю.
Может, в правах что-то не то пишу. Не понимаю...

Специально для получения ответа регился.
Если поможете, я тоже буду Вашим другом и буду заходит часто
Ответить с цитированием