Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.011 c
6-29970
Aleksey_SV
2003-01-16 17:55
2003.03.10
Консоль и ServerSocket


1-29900
Arhangel
2003-02-26 15:28
2003.03.10
формат setfiletime


14-30073
.nuke
2003-02-21 13:09
2003.03.10
command prompt @ XP


1-29951
Smolin
2003-02-27 13:18
2003.03.10
Прозрачность формы


1-29890
AlexanderSK
2003-02-26 15:53
2003.03.10
Опять про VarArrayCreate.




   Наверх