Проблемы с UPDATE
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 11.03.02 08:13
Оценка:
Добрый день, уважаемые!

Такая проблема:

Использую C++ Builder. Есть экземпляр TAdoCommand на форме. Использую базу Access 97. В ней одно поле имеет тип числовой с точкой (например, значение может быть 1.15).

Сама проблема — если я пишу:

TAdoCommand1->CommandText = "UPDATE Goods SET PriceForUnit=1.1 WHERE ID=1";

и вызываю TAdoCommand1->Execute(),

то вываливается ошибка

'No value given for one or more required parameters'

То есть ошибка ADO... Причем, что самое интересное — для целочисленных полей и текстовых полей такого не возникает... И еще интереснее — в самом Access приведенный запрос исполняется без ошибок... Чувствую, что где-то зарыта собака, но вот где?

Заранее спасибо за помощь!
Re: Проблемы с UPDATE
От: rusLAN Россия  
Дата: 11.03.02 08:18
Оценка:
Здравствуйте Flamer, Вы писали:

F>Добрый день, уважаемые!

F>
F>Такая проблема:
F>
F>Использую C++ Builder. Есть экземпляр TAdoCommand на форме. Использую базу Access 97. В ней одно поле имеет тип числовой с точкой (например, значение может быть 1.15).
F>
F>Сама проблема — если я пишу:
F>
TAdoCommand1->>CommandText = "UPDATE Goods SET PriceForUnit=1.1 WHERE ID=1";
F>
F>и вызываю TAdoCommand1->Execute(),
F>
F>то вываливается ошибка
F>
F>'No value given for one or more required parameters'
F>
F>То есть ошибка ADO... Причем, что самое интересное — для целочисленных полей и текстовых полей такого не возникает... И еще интереснее — в самом Access приведенный запрос исполняется без ошибок... Чувствую, что где-то зарыта собака, но вот где?
F>
F>Заранее спасибо за помощь!

Не уверен, но если изменить в настройках локали Windows дробный разделитель на ".", то работает или нет?
Хорошо бы если еще было хорошо, а иначе не хорошо, иначе только видимость....
Re[2]: Проблемы с UPDATE
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 11.03.02 08:21
Оценка:
LAN>Не уверен, но если изменить в настройках локали Windows дробный разделитель на ".", то работает или нет?

Так и стоит — "Decimal simbol" = . (точка)
Re: Проблемы с UPDATE
От: Slayer Россия  
Дата: 11.03.02 10:01
Оценка:
Это конечно изврат, но могет помочь...
Попробуй так:
TAdoCommand1->>CommandText = "UPDATE Goods SET PriceForUnit=\'1.1\' WHERE ID=1";
Re[2]: Проблемы с UPDATE
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 11.03.02 10:11
Оценка:
Здравствуйте Slayer, Вы писали:

S>Это конечно изврат, но могет помочь...

S>Попробуй так:
TAdoCommand1->>>CommandText = "UPDATE Goods SET PriceForUnit=\'1.1\' WHERE ID=1";

Пробовал, не помогает....



Чего и думать — даже не знаю... Причем именно только для поля с точкой эта ошиба возникает...
Re: Проблемы с UPDATE
От: SVM  
Дата: 12.03.02 06:14
Оценка:
Здравствуйте Flamer, Вы писали:

F>Добрый день, уважаемые!

F>
F>Такая проблема:
F>
F>Использую C++ Builder. Есть экземпляр TAdoCommand на форме. Использую базу Access 97. В ней одно поле имеет тип числовой с точкой (например, значение может быть 1.15).
F>
F>Сама проблема — если я пишу:
F>
TAdoCommand1->>CommandText = "UPDATE Goods SET PriceForUnit=1.1 WHERE ID=1";
F>
F>и вызываю TAdoCommand1->Execute(),
F>
F>то вываливается ошибка
F>
F>'No value given for one or more required parameters'
F>
F>То есть ошибка ADO... Причем, что самое интересное — для целочисленных полей и текстовых полей такого не возникает... И еще интереснее — в самом Access приведенный запрос исполняется без ошибок... Чувствую, что где-то зарыта собака, но вот где?
F>
F>Заранее спасибо за помощь!
А если попробовать TADOQuery?
Re[2]: Проблемы с UPDATE
От: Slayer Россия  
Дата: 13.03.02 04:08
Оценка:
А ще можно попробовать вместо точки запятую поставить — тупо конечно, но вдруг поможет...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.