Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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

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

Специально для получения ответа регился.
Если поможете, я тоже буду Вашим другом и буду заходит часто
Ответить с цитированием
  #2  
Старый 06.08.2013, 00:58
Samigo Samigo вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

кстати,
Цитата:
Но когда перехожу на другой запись
не добавляя нового все нормально меняется.
Новых записей добавить не могу.
Ответить с цитированием
  #3  
Старый 06.08.2013, 02:13
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Честно говоря, не понимаю кому сейчас нужнны dbf-файлы. Существуют и более удобные варианты, к примеру, SQLite.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #4  
Старый 07.08.2013, 01:27
Samigo Samigo вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Честно говоря, не понимаю кому сейчас нужнны dbf-файлы. Существуют и более удобные варианты, к примеру, SQLite.
В одном месте работает программа на VFP6. Тот кто это сделал давно умер. Он был моим другом. Упал с крыши дома.
А вот его программа работает!
Вот. Меня попросили переделать входные данные для этой системы.
А я уже давно пишу только на PHP и не хочу вернутся на VFP.
Мне легче маленькие утилиты написать на паскале.
В нете искал, но ничего толкового не нашел.
Кто что знает?
Ответить с цитированием
  #5  
Старый 07.08.2013, 01:38
Samigo Samigo вне форума
Прохожий
 
Регистрация: 05.08.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
Честно говоря, не понимаю кому сейчас нужнны dbf-файлы. Существуют и более удобные варианты, к примеру, SQLite.
Кстати, кому как не знаю, но то что не получается на дельфи, там делается очень просто:
Код:
use ?
zap
SET CENTURY on
SET DATE to GERMAN
SET HOURS to 24
SET MARK TO '.'
SET SECONDS on
APPEND FROM ? TYPE DELIMITED WITH ','
можно и без этих SET-ов. всего 3 строки!
там такие входные данные идут:
Код:
3692274250,7719272,29.07.2013 23:58:36,85,0,0,0,0,0,2274250,7719272,1,00101001,00000000,00000100,5419245,1-0,0,0,0,0,226,61436,200
3692278585,9141331,29.07.2013 23:59:40,27,0,0,0,0,0,2278585,9141331,1,00101001,00000000,00000100,5419248,1-0,0,0,0,0,226,61436,200
3694332718,83692272673,30.07.2013 0:0:6,7,0,0,0,0,0,4332718,2272673,1,00101001,00000000,00000100,5419254,1-0,0,0,0,232,0,61436,200

Это вед намного короче чем любой другой код.

Если не найду здесь ответа, буду устанавливать себе фокспро...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:32.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter