|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.11.2007, 11:24 | #1 |
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
Проблема с параметрами при работе С ADO
Суть проблемы есть код:
DataModule5.ADOQuery1.Parameters.Ad dParameter.Name:='nomer'; DataModule5.ADOQuery1.Parameters.Pa ramByName('nomer').Value:=strtoint( nom); ShowMessage(DataModule5.ADOQuery1.P arameters.ParamByName('nomer').Valu e); DataModule5.ADOQuery1.SQL.Add('dele te zakaz.n_zakaza'); DataModule5.ADOQuery1.SQL.Add('from zakaz'); DataModule5.ADOQuery1.SQL.Add('wher e (((zakaz.n_zakaza)=[nomer]))'); DataModule5.ADOQuery1.Active:=true; DataModule5.ADOQuery1.Active:=false ; все вроде бы ничего, но при выолнении запроса выводится ошибка: параметр [nomer] не имеет значения по умолчанию. Как решить проблему? Какое значение по умолчанию?
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
27.11.2007, 11:42 | #2 |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 270
|
DataModule5.ADOQuery1.SQL.Add('wher e (((zakaz.n_zakaza)=[nomer]))');
^^^ А так можно обращаться к значению параметра? Я всегда считал что это делается так: DataModule5.ADOQuery1.SQL.Add('wher e (((zakaz.n_zakaza)= :nomer))');
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько? (с) Библия. Вольный перевод с древнееврейского. |
27.11.2007, 11:55 | #3 |
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
Точно, как я мог это забыть. Стыдно. Теперь другая ошибка Объект или поставщик не может выполнить требуемую операцию. Как это так? ODBC же использую. конектюсь так:
const ss = 'Provider=Microsoft.Jet.OLEDB.4.0;D ata Source=%s;Persist Security Info=False'; var path,path0,p: string; f:textfile; begin p:=GetCurrentDir; if not FileExists(p+'\База\path.txt') then begin path0:= GetCurrentDir; path:= path0 +'\База\db_kiosk.mdb'; assignfile(f,path0+'\База\path.txt' ); Rewrite(f); write(f,path); CloseFile(f); end else begin assignfile(f,GetCurrentDir+'\База\p ath.txt'); reset(f); read(f,path); CloseFile(f); end; try ADOConnection2.ConnectionString:=Fo rmat(ss, [path]); ADOConnection2.Open; except ShowMessage('Ошибка!'); exit; end; конектится нормально, но откуда такая ошибка?
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
27.11.2007, 12:53 | #4 | |
Форумчанин
Регистрация: 20.06.2007
Сообщений: 270
|
Цитата:
Может прав не хватает?
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько? (с) Библия. Вольный перевод с древнееврейского. |
|
27.11.2007, 13:10 | #5 | ||
Форумчанин
Регистрация: 07.08.2007
Сообщений: 154
|
1.
Цитата:
Код:
Цитата:
Код:
|
||
27.11.2007, 13:47 | #6 | |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Цитата:
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
|
|
27.11.2007, 14:33 | #7 | ||
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
Цитата:
Цитата:
проверял значение параметра заносится в переменную.
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
||
27.11.2007, 14:44 | #8 | |
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
а с каких пор delete должен записи показывать? imho удаляет... показывает select... раньше показывал)))
Цитата:
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
Последний раз редактировалось Alex21; 27.11.2007 в 15:30. |
|
27.11.2007, 15:00 | #9 | |
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
delete или select здесь не играет роли, т.к. по структуре оба запроса одинаковы
DataModule5.ADOQuery2.SQL.Add('SELE CT Zakaz.Kod, Zakaz.N_Zakaza AS [Номер заказа], Zakaz.Path AS Путь, Format.Format AS Формат, Paper.Paper AS Бумага, Zakaz.Kol AS Количество, Zakaz.Time AS Время, Zakaz.Cena AS Цена'); DataModule5.ADOQuery2.SQL.Add('FROM Paper INNER JOIN (Format INNER JOIN Zakaz ON Format.Kod_F = Zakaz.Kod_F) ON Paper.Kod_P = Zakaz.Kod_P'); DataModule5.ADOQuery2.SQL.Add('wher e Zakaz.N_Zakaza=:x'); DataModule5.ADOQuery2.Parameters.Pa ramByName('x').Value:=strtoint(nom) ; Цитата:
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
|
27.11.2007, 15:09 | #10 | ||
ios developer
Старожил
Регистрация: 16.11.2007
Сообщений: 2,885
|
Цитата:
2) а что у вас за база, если не секрет? есть ли права на запись у юзверя, от имени которого коннект? не стоит ли где-нибуть readonly? Цитата:
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
Последний раз редактировалось Alex21; 27.11.2007 в 15:30. Причина: Используем кнопку "Редактировать". Подряд 2 однотипный сообщения не постим |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибки при работе запросов с параметрами | Customer | Microsoft Office Access | 4 | 14.07.2008 20:35 |
ActiveX с параметрами | Chainic | Общие вопросы Delphi | 2 | 28.05.2008 16:25 |
Проблема при работе с БД | HAMMAN | БД в Delphi | 3 | 29.03.2008 14:42 |
проблема при работе с несколькими исходными файлами | Grind | Помощь студентам | 2 | 19.02.2008 19:37 |
Проблема при работе с представлениями | Nemec | БД в Delphi | 2 | 29.07.2007 04:21 |