Форум: "Базы";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];
ВнизMS SQL Server 2000+ADO+Delphi6 Найти похожие ветки
← →
lark (2003-02-18 06:00) [0]База данных SQL Server 2000. Соединение через ADOConnection. Доступ к данным из программы посредством ADODataSet, ADOCommand. Программа работает давно и успешно. Требуется внести в нее дополнения. Проблема в следующем. Оператор Select через Датасет работает, а вот Insert, Delete и Update через ADOCommand говорит: EOleException... "Invalid object
name "TableName"". Совершенно аналогичные инструкции в этом же коде с этими же таблицами, написанные ранее, работают! Эту проблему удалось обойти только установкой ConnectionString в ADOCommand вместо ссылки на нее в ADOConnection. Но! Почему вносимые в CommandText изменения в виде добавления новых полей для Insert/Update ADOCommand упорно игнорирует???
← →
Дима2003 (2003-02-18 10:11) [1]Я пользуюсь только AdoQuery. Всё великолепно работает. Если SELECT то открываю словом Open, если INSERT, UPDATE, DELETE - словом ExecSQL.
← →
jocko (2003-02-18 10:40) [2]>Я пользуюсь только AdoQuery
может я чего не понимаю, но зачем тащить логику уровня БД в логику уровня приложения...
2 lark
честно говоря все ins, upd, del я выполняю только ХП и через ADOCommand + ADOConnection проблем никогда нет, что и рекомендую
Чисто в твоем случае надо искать в коде, тут ничем не поможешь, попробуй смоделируй ситуацию на тестовом примере вне всего приложения т.е чисто ADOCommand + ADOConnection и запусти
PS: помоему TADOQuery вообще лишняя вещь в дельфе, глаза мозолит
← →
lark (2003-02-18 10:49) [3]>jocko
>честно говоря все ins, upd, del я выполняю только ХП и через ADOCommand + ADOConnection проблем никогда нет, что и рекомендую
Проблем действительно раньше не было, программа работает 3 (третий) год! Добавила еще одну таблицу в БД и пару полей в старых таблицах. Insert, Update всего лишь дополняю еще одним полем, CommandText формируется правильно, молча выполняет, но в БД уходит <NULL>. Доп.таблица внесена во все используемые роли, все колонки равноправны. Где ловить ошибку?
← →
Дима2003 (2003-02-18 11:03) [4]Сервер перегрузи
← →
jocko (2003-02-18 11:28) [5]а как формируется список параметров?
кстати запрос небось в try завернут, может его убрать?
← →
lark (2003-02-18 11:44) [6]Сервер перезагрузила. "Login failed for user "lark"" - сказало мне EOleException при попытке записать что-нибудь в базу (это раньше работало).
А параметры заносятся на основании введенных пользователем полей. Try мне особо не мешает, я ж сообщения Дельфи читаю, а не свои обработчики.
← →
lark (2003-02-18 12:13) [7]jocko
>Чисто в твоем случае .... попробуй смоделируй ситуацию на тестовом примере вне всего приложения т.е чисто ADOCommand + ADOConnection и запусти
Смоделировала, все работает, но не писать же заново огромный проект?!
← →
lark (2003-02-18 12:59) [8]Рабочий день прошел впустую :о(
Проблема осталась:
>Insert, Update всего лишь дополняю еще одним полем, CommandText формируется правильно, молча выполняет, но в БД в значение нового поля уходит <NULL>.
Кто-нибудь поможет???
← →
D (2003-02-18 13:22) [9]>Insert, Update всего лишь дополняю еще одним полем, CommandText формируется правильно, молча выполняет, но в БД в значение нового поля уходит <NULL>.
Может, не так входные параметры (новые значения полей) для Insert, Update присваиваешь?
← →
jocko (2003-02-18 13:29) [10]Повторюсь:
Возможно список параметров сформирован не полностью, варианты: или написать код который возвратит список имен этих параметров для проверки, или хотябы их число; убрать try на время = Stop on Delphi Exeption, я обычно убираю try
PS ЕСЛИ ПАРАМЕТР NULL ЗНАЧИТ ОН НЕ ПРИСВАИВАЕТСЯ!!!
← →
lark (2003-02-19 06:21) [11]jocko
>Возможно список параметров сформирован не полностью
Если список полей неправильно сформирован, запрос вообще не будет работать. Если интересно, строка такая:
"INSERT INTO TLOG (Date_, Arrival, Reserve, Name, Ar_Ex, N_Card, Expense, Pcod, Art_) VALUES ("02.02.2003",0,1,"Беляев",1,2,0,50,18)"
В предыдущей версии не было поля Art_. Какие мнения?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c