2013-02-14 4 views
3

я получил базу данных ADO с таблицей с именем t_codemeaning, ниже структура таблицы:Как добавить несколько строк из компонента TMemo в базу данных MS Access?

t_codemeaning 
    codemenaing_code AS Text 
    codemenaing_title AS Text 
    codemenaing_description AS Text 

добавить все таблицы в моей ADOQuery1.

я нажимаю кнопку с помощью этого сценария Delphi:

ADOQuery1.edit; 
ADOQuery1codemeaning_title.value := edit1.text; 
ADOQuery1codemeaning_description.value := memo1.lines.text; 
ADOQuery1.post; 

Когда я добавить одну строку в памятке, то каждая вещь Fine.

Но когда я добавляю много кратных строки текста в Memo1, то он показывает мне ошибку:

операции

многоступенчатой ​​генерируемые ошибки. Проверьте каждое значение состояния.

Как это исправить?


Мой последний прогресс, я сделал новую строку переменной Avalue и добавьте в него memo1.lines.text:

aValue:=memo1.lines.text; 
    aValue := StringReplace(StringReplace(aValue, '#10', '', [rfReplaceAll]), '#13', '', [rfReplaceAll]); 

И я изменить сценарий для ADOQuery1codemeaning_description.value .... в :

ADOQuery1codemeaning_description.value := aValue; 

еще получил ту же ошибку ...

+3

Это вызвано концами линии «CRLF» в вашем коде. Когда вы назначаете строки, они кодируются как одна строка. Вам необходимо избежать окончания строки в формате, ожидаемом машиной ADO. Другими словами, многострочная строка memo передает недопустимые символы в ADO. – 2013-02-14 21:25:47

+0

"CRLF" относится к # 13 # 10? –

+0

Я добавляю скрипт: –

ответ

9

Определите description в качестве Memo в БД (вместо Text), а затем удалите все постоянные поля от ADOQuery1 и добавьте их снова, чтобы ADOQuery1codemeaning_description типа ftMemo.

Не нужно бежать или заменять CRLF.

 Смежные вопросы

  • Нет связанных вопросов^_^