Ошибка «недопустимый тип поля» с TClientDataSets, я не понимаю - PullRequest
2 голосов
/ 06 декабря 2008

Я использую вложенные структуры базы данных с TClientDataSets. Я новичок в программировании, так что мой жаргон не так.

Моя проблема заключается в следующем: я определил структуру своей базы данных и все поля вложенных структур, а затем вызвал метод CreatDataSet основного clientDataSet, и он сработал. Затем я хотел добавить другое поле данных в мастер ClientDataSet. Затем я вызвал метод ClearData для Master ClientDataSet, а затем попытался создать новую структуру, снова вызвав CreateDataSet. Именно здесь я сталкиваюсь с моей проблемой. Я получаю «Недопустимая ошибка типа поля», и я действительно не знаю и не понимаю, в чем проблема.

Итак, как мне создать поле exsta после того, как я вызвал метод набора созданных данных, затем вызвал метод cleardata, затем добавил поле и затем снова вызвал метод созданного набора данных без получения «ошибки недопустимого типа поля?»

Есть ли у кого-нибудь информация об этой проблеме. Я использую Delphi 2007

Добрые награды

Риан де Вильер

Ответы [ 2 ]

2 голосов
/ 06 декабря 2008

Это ошибка Delphi.

Вызовите YourDataset.FieldDefs.Clear перед вызовом CreateDataSet, и он должен работать.

Для получения дополнительной информации, пожалуйста, посмотрите на этот отчет о КК:

http://qc.codegear.com/wc/qcmain.aspx?d=38984

EDIT:

После более внимательного прочтения вашей проблемы проблема может быть в чем-то другом, но, пожалуйста, попробуйте FieldDefs.Clear и сообщите мне результаты.

0 голосов
/ 31 декабря 2009

Прошло много времени с тех пор, как вы задавали этот вопрос, но я считаю, что проблема связана именно с полями вложенных наборов данных. Я видел эту ошибку раньше, и я считаю, что это связано с порядком, в котором создаются определенные поля. Если я правильно помню, если вы попытаетесь создать основной набор данных до того, как вложенные поля набора данных будут определены или созданы, вы получите эту недопустимую ошибку типа поля.

Начните с удаления полей вложенных наборов данных из уравнения и посмотрите, не возникла ли еще проблема. Если нет, то добавьте их обратно. Попробуйте создать основной набор данных и его вложенные наборы данных в разных порядках.

Я знаю, что уже поздно, но я надеюсь, что это поможет.

...