1

Тема: VBScript & Oracle: использование результатов SELECT'a

Доброго времени суток.
Есть ли возможность использовать необходимый мне столбец и рядок(из результата полученного после выполнения определенного SELECT'a), как переменную в VBScript?

Например есть таблица TABLE в оракле с полями - DATE, USER, IP. Я делаю такой запросик:

SELECT max(DATE) as max_date from TABLE

В результате получаем одно значение, например:

1-фев-2011 16:00:02

Как это значение сравнить со значением, которое я получаю в своем VBScript в результате парсинга текстового лог-файла???

Кусочек моего кода:

current_date = Date_input & " " & Time_input ' Date_input и Time_input это переменные полученные в результате парсинга моего текстового файла

strConv = CDate(current_date) 'Привожу к типу даты, для точности сравнивания

Дальше кусок кода которого мне не хватает, но по логике что-то типа этого:

max_date = "SELECT max(DATE) as max_date from TABLE"
strMax = OraDatabase.ExecuteSQL(max_date)

Понятное дело что этот кусок кода не работает, иначе бы не писал к вам на форум

З.Ы. Кстати еще кусок кода, тут я просто сравниваю значения чтобы понять делать запись в таблицу или нет:

if (strMax < strConv) Then
   sql = "INSERT INTO ..."
   OraDatabase.ExecuteSQL(sql)
else
   sql = ""
end if

2 (изменено: Евген, 2011-02-07 19:17:56)

Re: VBScript & Oracle: использование результатов SELECT'a

Я бы попытался так... (ИСПОЛЬЗУЯ DAO - Слабость )

Set DBEngine = CreateObject("DAO.DBEngine.36")  
Set DB = DBEngine.OpenDatabase("", False, False, "ODBC:DSN=NAME_YOUR_ODBC_CONNECTION" )  
Set rs = tb.OpenRecordset("SELECT max(DATE) as max_date from TABLE")  
Do While Not rs.EOF
msgbox rs.fields("max_date")
rs.movenxt
Loop

Здесь исправите на своё имя заранее настроенного ODBC подключения "ODBC:DSN=NAME_YOUR_ODBC_CONNECTION" и вперёд !!!
Ну и сравнивать соответственно можно так

if datevalue(rs.fields("max_date"))<datevalue(now) then...

ИМХО подозреваю ещё что то, что вы пытаетесь выполнить программным кодом, можно выполнить оптимальнее с помощью SQL запроса...

Времени не хватает... :-(