Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > OleDb - формат даты


Автор: SMART32 4.9.2007, 11:27
Вопрос про составление запросов для OleDbCommand. 
Допустим у нас есть три различные СУБД. В одной дата (как и прочие значения)  задается как '10/10/2007' (одинарные кавычки), в другой как #10/10/2007# (решетки), в третьей как  "10/10/2007" (двойные кавычки).

Создается одна комманда OleDbCommand с текстом " select * from test where orderdate = '10/10/2007'; "

Собственно вопрос: если эта команда будет привязана к трем DataAdapter для всех трех СУБД, ADO.NET правильно отработает, интерпретировав '10/10/2007' в #10/10/2007# и "10/10/2007"соответственно? Или для каждой СУБД прийдется прописывать отдельную команду с соответствующем форматом значений?

И на каком уровне порисходит обработка запроса - на уровне ADO, поставщика или ниже?

Автор: SMART32 4.9.2007, 11:54
Такой же вопрос и про параметры. С ними вроде как все должно работать но я не уверен, т.к. у меня только SQL сервер.

Автор: zaver 7.9.2007, 22:18
Цитата

Собственно вопрос: если эта команда будет привязана к трем DataAdapter для всех трех СУБД, ADO.NET правильно отработает, интерпретировав '10/10/2007' в #10/10/2007# и "10/10/2007"соответственно?

нет, ADO.NET не меняет текст запроса под подходящую БД, как бы вы ее не просили

Добавлено через 1 минуту и 40 секунд
Цитата

Такой же вопрос и про параметры. С ними вроде как все должно работать но я не уверен, т.к. у меня только SQL сервер.

если используешь обобщеные технологии подключение такие как ODBC или OleDb, то все норм, иначе дело плохо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)