Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.10;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
4-30184
Ahmad K
2003-01-20 02:30
2003.03.10
Выход из виндовса для проги?!


14-30108
Uncle Archi
2003-02-21 22:16
2003.03.10
DirectX


3-29720
NightCold
2003-02-18 12:12
2003.03.10
СРОЧНО!


7-30152
Ich Hasse
2003-01-11 23:32
2003.03.10
Привязка программы


3-29777
diwin
2003-02-20 10:16
2003.03.10
можно ли оптимизировать запрос (очень хотелось бы :) )?