Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];

Вниз

Параметр в запросе   Найти похожие ветки 

 
BJValentine   (2002-08-19 16:05) [0]

Есть запрос:

insert into SqlBase (field1,field2)
select field1,field2
from OpenRowset("MSDASQL.1", "Driver={Microsoft dbase Driver (*.dbf)};DBQ=c:\bases;", "select field1,field2 from DbfBase where field2>=""100000""")

- работает

а как сделать так, чтобы в условии where можно было подставить параметр?


 
Mike Kouzmine   (2002-08-19 16:08) [1]

field2>=:Chislo

SqlBase.ParamByName("Chislo").AsFloat := 100000;


 
BJValentine   (2002-08-19 17:04) [2]

Sorry, я задал немного не правильно вопрос. Этот запрос мне надо впихнуть в хранимую процедуру.


 
Mike Kouzmine   (2002-08-19 17:09) [3]

StoredProc1.ParamByName("Chislo").AsFloat := 100000;


 
BJValentine   (2002-08-19 17:13) [4]

Это всё понятно (кроме AsFloat, 100000 в данном случае строка),
ну а как в самой хранимой процедуре, в самом запросе влепить этот параметр.


 
Mike Kouzmine   (2002-08-19 17:18) [5]

Ну ты же пишешь ее. Она имеет входящие параметры. Когда ты связываешь StoredProc с существующей хр проц, то в св-ве Param они становятся доступны.


 
BJValentine   (2002-08-19 17:29) [6]

Да это всё понятно, как должен выглядеть сам запрос?


 
sniknik   (2002-08-19 18:30) [7]

в OpenRowset передавать параметр с сожалению нельзя (по моему)
а процедуре это нужно, можно так

DECLARE @ST CHAR(30)
SET @ST = "Sony E-3431 D телевизор"
SELECT * FROM OpenDataSource("Microsoft.Jet.OLEDB.4.0",
"Data Source="D:\";Extended properties=dBase IV")...GOODS WHERE FIRM_NAME = @ST


поправь под себя.
к еще большему сожалению в OpenDataSource не получается использовать драйвера ODBC а у OLEDB в подобных связках есть маленький глючок (по крайней мере раньше был) память расходуется почем зря и не отдается. У меня сервер это вешало после 2х недель работы без перезагрузки. прим. на 1000-м вызове.

в общемто ограничения можно и сверху (по времени больше за счет того что вся таблица выбирается зато без глюков)
аналог предыдущего запроса

DECLARE @ST CHAR(30)
SET @ST = "Sony E-3431 D телевизор"
SELECT @ST
select * from OpenRowset("MSDASQL.1", "Driver={Microsoft dbase Driver (*.dbf)};DBQ=D:\", "select * FROM GOODS") WHERE FIRM_NAME=@ST




 
BJValentine   (2002-08-19 19:54) [8]

Жаль


 
sniknik   (2002-08-19 20:11) [9]

А чего жалеть используй то что есть. Или в мелкософт пиши в жалобную книгу (я кстати пробовал полный игнор).

и еще во второй пример "SELECT @ST" вкрался по ошибке, понял уже наверное. тока на секунду отвернулся он раз и вкрался. :-))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.02 c
1-27059
Dmitriy Polskoy
2002-08-28 09:19
2002.09.09
Программное создание каталогов.


1-27012
Дмитрий Баранов
2002-08-29 19:23
2002.09.09
Получение переменных окружения в СПИСОК


14-27196
Sten
2002-08-12 00:28
2002.09.09
Подскажите компАнет....плииииз


1-26991
MCFire
2002-08-29 18:11
2002.09.09
Как скопировать файл???


4-27267
eruc
2002-07-08 12:00
2002.09.09
Вопрос про Button ???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский