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



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.06.2015, 12:23
Блондинка Блондинка вне форума
Прохожий
 
Регистрация: 29.06.2015
Сообщения: 4
Версия Delphi: delphi 6
Репутация: 10
Печаль #Error в Поле Memo в бд Access

Доброго времени суток! У меня следующий вопрос. Имеется база данных Access, приложение, написанное на делфи. Приходят мои не самые одаренные пользователи, которые умудряются ложить базу каждую неделю с очередной ябедой, при запуске программа выдает сообщение об ошибке Поставщик данных вернул e_fail. Открываю базу и вижу в поле Мемо: #Ошибка. И таких строк подряд штук 25. Восстанавливаю данные, все работает. Но я своих знаю, если у них один раз так получилось, будет подобное вылезать постоянно. Пару раз видела, как эти ленивые жопки вместо заполнения обязательных полей в приложении, копируют данные из текста, написанного в ворде. Подозреваю, что все из-за этого. Собственно вопрос, а есть ли такие символы, которые в поле Мемо бд Access вызывают сообщение об ошибке, или которые не передаются через ado? И как вот отловить момент, когда в поле появляется #ошибка? На форме лежит tmemo, adoconnection.

Последний раз редактировалось Блондинка, 29.06.2015 в 18:06.
Ответить с цитированием
  #2  
Старый 29.06.2015, 16:41
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Такие символы есть, но в мемо они пролезть не могут, ограничения класса TStrings такое не пропускают, может у вас всёж DBMemo?

З.Ы. #Ошибка (#Error) вылазит если попалась в таблице пустая запись

Код:
//Dev Ashish 000112 ошибку #Error можно отловить :)
 // Not Numeric return zero
function nnz(testvalue: variant): variant;
 begin
  If IsNumeric(testvalue) then Result:= testvalue else Result:= 0;
 end; //Function

Последний раз редактировалось Alegun, 29.06.2015 в 17:01.
Ответить с цитированием
  #3  
Старый 29.06.2015, 18:03
Блондинка Блондинка вне форума
Прохожий
 
Регистрация: 29.06.2015
Сообщения: 4
Версия Delphi: delphi 6
Репутация: 10
По умолчанию

не-не, точно не dbmemo. А вот memo у меня обязательное, там не может быть пустой строки. Проверка стоит. Вот поэтому я и думаю, может символы форматирования какие-нибудь невидимые в ворде есть? а про ограничения класса tstring поподробнее где почитать?
Ответить с цитированием
  #4  
Старый 29.06.2015, 18:11
Блондинка Блондинка вне форума
Прохожий
 
Регистрация: 29.06.2015
Сообщения: 4
Версия Delphi: delphi 6
Репутация: 10
По умолчанию

и еще вопрос, а запретить именно вставлять скопированный текст можно?
Ответить с цитированием
  #5  
Старый 29.06.2015, 18:22
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Проверка типа
Код:
if Length(Memo.Text) <> 0 then...
?
Цитата:
...запретить именно вставлять скопированный текст...
Код:
uses ClipBrd;

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if ((Key = ord('V')) and (ssCtrl in Shift)) then begin
   if Clipboard.HasFormat(CF_TEXT) then
     ClipBoard.Clear;
   Memo1.SelText := 'Нельзя копипастить!';
   key := 0;
end;
end;
Ответить с цитированием
  #6  
Старый 29.06.2015, 19:46
Блондинка Блондинка вне форума
Прохожий
 
Регистрация: 29.06.2015
Сообщения: 4
Версия Delphi: delphi 6
Репутация: 10
По умолчанию

ну да, подобная. Спасибо! Попробую отловить ошибку, а пока пусть ручками вбивают все...
Ответить с цитированием
Ответ



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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter   Ссылка на Telegram