вызов функции БД

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

вызов функции БД

Сообщение lord0n » 22.02.2007 (Чт) 16:41

Коллеги, доброго времени суток.
Возник такой вопрос: мне нужно вызвать функцию оракли из адо
То есть например мне нужно вызвать 'sysdate' примерно вот так:
Код: Выделить всё

RS.Field("Date1").Value = "sysdate"
RS.Update


Проблема в том что она считает что я пытаюсь запихнуть в поле типа дата строковое значение. Ну и естественно выдает ошибку.

Может есть какой-нибуть способ это сделать не прибегая к команде update или insert, а именно через field рекордсета?
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.02.2007 (Чт) 17:00

Выполнить отдельно select sysdate, полученное значение вписать именно в field рекордсета...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 22.02.2007 (Чт) 17:05

GSerg писал(а):Выполнить отдельно select sysdate, полученное значение вписать именно в field рекордсета...


блин, не додумался)))))))))))))))))))
спасибо огромное
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 22.02.2007 (Чт) 17:51

теперь другая трабла:
при получении результата адо переводит его в формат даты который установлен у меня на машине
а мне нужно в формате оракла
собственно ради этого все и затевалось

преобразовать с помощью Format не катит, т.к. у клиента может установлен свой формат даты в оракле
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.02.2007 (Чт) 18:03

А нефиг путать дату со сторовым представлением даты.
Я почему-то уверен, что sysdate вернёт adDate. И записывать её можно напрямую.
А если ты работаешь со строковым представлением, а не с датой, то ты сам себе злобный буратино.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 23.02.2007 (Пт) 10:36

GSerg писал(а):А нефиг путать дату со сторовым представлением даты.
Я почему-то уверен, что sysdate вернёт adDate. И записывать её можно напрямую.
А если ты работаешь со строковым представлением, а не с датой, то ты сам себе злобный буратино.


хех, а как мне её на прямую записать?
у системы свой формат, у оракла свой
если я объявлю переменную как дата, то тоже дохлый номер: переведет в системную.
а апдейтом пользоваться не хочу((((((((((((((((((
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 11:35

Смысл приведённого текста уловлен не был.

Куда "напрямую записать"?
Какой "системный формат"?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 23.02.2007 (Пт) 12:33

GSerg писал(а):Смысл приведённого текста уловлен не был.

Куда "напрямую записать"?
Какой "системный формат"?


смысл такой: мне нужно используя стандартные операторы АДО, вставить в таблицу Оракла текущую дату и время, при этом не прибегая к оператору VB Format и не используя SQL команд типа Update и Insert

что то из серии:
Код: Выделить всё

RS.Open("select sysdate, rownum from test.""Field1"" where rownum = 1")

Dim a As String = RS.Field("sysdate").Value
RS.Close

RS.Open("select DATE1 from test.""Field1""")
RS.AddNew()
RS.Field("DATE1").Value = a
RS.Update()
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 12:42

Почему не dim a as date?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 23.02.2007 (Пт) 14:11

GSerg писал(а):Почему не dim a as date?

как ни странно, но работает)))))))))))))))))
но это тоже не выход: отставание от реального времени = 1-2 секунды
а если сервак хорошенько нагрузить, то будет больше
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 14:38

А чего ты хотел? Только так.
Ну или Now, но тебе оно не нравится.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 23.02.2007 (Пт) 15:05

GSerg писал(а):А чего ты хотел? Только так.
Ну или Now, но тебе оно не нравится.


нау мне нравится, но её нужно преобразовать в формат оракла, а по скольку у разных клиентов может быть по разному настроен формат даты, то придется для каждого делать изменения в программе, а это не есть гуд
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.02.2007 (Пт) 15:50

Ыыы.........
То есть ты даже после того как объявил a as date, всё равно не узрел разницу между датой и её строковым представлением?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 24.02.2007 (Сб) 22:38

GSerg писал(а):Ыыы.........
То есть ты даже после того как объявил a as date, всё равно не узрел разницу между датой и её строковым представлением?


все въехал
извиняюсь за тупизм, что то я вчера тормозил))))))))))))))))
пасибки)))))))))))))))))))
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 44

    TopList