Использую 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 приведенный запрос исполняется без ошибок... Чувствую, что где-то зарыта собака, но вот где?
Здравствуйте 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 дробный разделитель на ".", то работает или нет?
Хорошо бы если еще было хорошо, а иначе не хорошо, иначе только видимость....
Здравствуйте Slayer, Вы писали:
S>Это конечно изврат, но могет помочь... S>Попробуй так:
TAdoCommand1->>>CommandText = "UPDATE Goods SET PriceForUnit=\'1.1\' WHERE ID=1";
Пробовал, не помогает....
Чего и думать — даже не знаю... Причем именно только для поля с точкой эта ошиба возникает...
Здравствуйте 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?