Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 17:53   #1
mansuetudo
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 46
По умолчанию Не записывается значение в поле

Добрый день. Возможно, вопрос не совсем связан с таблицами, если так - заранее прошу прощения.
Есть таблица DBase, обновляю значение поля в определённой строке.
Сначала делала так:
Код:
BanksTable.First;
 BanksTable.Edit;
 BanksTable.FieldByName('suma').asFloat:=RaznoQuery.FieldByName('sss').asFloat;
 BanksTable.Post;
На моей машине этот код работал и работает как часы.
На другой машине, по идее, настроенной аналогичным образом, значение не записывается.

Изменила код таким образом (дописав разделитель по умолчанию при старте программы '.', при выходе из программы возвращаю его обратно):
Код:
 BS:=RaznoQuery.FieldByName('sss').asString;
 with RaznoQuery do begin
  Close;
  SQL.Clear;
  SQL.Add('update '+QuotedStr(BD_P+BanksTable.TableName)+' set suma='+BS+' where pan='+QuotedStr('@'+Acc));
  ExecSQL;
 end;
Опять-таки, на моей машине работает, на другой - нет. В промежутках ещё были разные упражнения с форматом данных - с тем же результатом.

Смущает то, что аналогичные первому (по принципу внесения данных в определённые поля) куски кода на второй(проблемной) машине работают, данные выбираются и заносятся. А конкретно в этом месте - нет.

В интернете ответ найти не смогла, может, не так спрашивала. Очень расчитываю на помощь профессионалов.
mansuetudo вне форума Ответить с цитированием
Старый 15.05.2012, 12:02   #2
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

и ошибки никакой не выкидывает?
googl вне форума Ответить с цитированием
Старый 15.05.2012, 14:02   #3
mansuetudo
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 46
По умолчанию

В первом случае - никакой, только просмотрев таблицы, с которыми работает программа, выяснила, что записываются все данные, кроме этого одного значения. Во втором случае на проблемной машине выругалось на несоответствие типов. Сейчас копаю в этом направлении, полдня была озадачена другим делом, так что разбираться с проблемой смогла начать вот только-только.
mansuetudo вне форума Ответить с цитированием
Старый 15.05.2012, 18:00   #4
mansuetudo
Пользователь
 
Регистрация: 08.11.2011
Сообщений: 46
По умолчанию

Проблему не решила, но обошла. Выяснила, что на проблемной машине нулевые значения в таблице отображаются как огромное отрицательное число, следовательно, сумма по полю, которую я пыталась записывать, считалась в странном виде и возникала ошибка. Убрала добавление нулевых значений в таблицу (т.к. они ни на что не влияют) и всё заработало. Но в чём проблема с той машиной и в чём разница с моей - до сих пор не понятно.
mansuetudo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоить значение поле в DBGrid'e компоненту DBLookupComboBox2 фЁдОр БД в Delphi 14 07.09.2012 14:26
Как получить значение поля в вычисляемом поле? FullSilence Microsoft Office Access 1 29.07.2011 01:13
Массив имеет тип float, переменная же, куда записывается значение int. Sabin4ik Общие вопросы C/C++ 1 28.04.2011 21:47
Выборка записей в поле которых содержится значение nuul Lokos БД в Delphi 1 05.08.2010 08:23
Как изменить значение value в поле? erwerwe JavaScript, Ajax 8 04.08.2010 18:20