Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 01.07.2010
Сообщений: 84

Дата как параметр к ХП в SQL2005Express

02.02.2007, 01:45. Показов 3907. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ХП: sp_name @status=0,@dat='03.16.2005 04:01:17'

Прекрасно работала в 2000, перешел на 2005Expr - выдает:

"Ошибка при преобразовании типа данных varchar к datetime."

Вызов идет из ASP.NET(2) через cmd.CommandText="sp_name @status=0,@dat='03.16.2005 04:01:17'";dr=cmd.ExecuteReader();

Странно что это только локально не работает, на хостинге все прекрасно пашет ...



Итак: в каком формате надо вносить дату в параметр?

(дд.мм.ггггг или мм.дд.гггг или ггггг.мм.ддд или еще как ...)



Или это зависит сугубо от локали?(latin1_general или cyrillic)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2007, 01:45
Ответы с готовыми решениями:

TChart Ось Х - параметр дата/время
Подскажите пожалуйста, что нужно сделать, чтобы на ТChart по оси Х указывались значения не в виде double, а в виде дата/время

Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр
На jsp странице имеется динамически формируемая таблица с чекбоксами в первой колонке каждой строки <tbody> ...

Как подсчитать сколько раз в столбце "Дата" встречается текущая дата компьютера
Есть база данных Access использую элементы DataSet,BindingSource,TableAdapter. Как подсчитать сколько раз в...

6
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
02.02.2007, 12:49
Чтобы таких проблем не возникало надо использовать параметры - http://quickstarts.asp.net/QuickStartv20/howto/doc/adoplus/ExecuteCommand.aspx http://quickstarts.asp.net/QuickStartv20/howto/doc/adoplus/ExecuteCommand.aspx, а не передавать аргументы в строке вызова.
0
1 / 1 / 0
Регистрация: 01.07.2010
Сообщений: 84
02.02.2007, 15:20  [ТС]
Я в курсе про параметры, но это усложняет процесс и я привык использовать просто текстовый запрос.

У подобных процедур 20 параметров и использовать параметры будет очень непросто.

Да и вся система написана таким образом что параметры не катят - есть метод sql_exec(string sql), который просто выполняет пришедший запрос.

Притом что сайтик был написан еще под использование MSSQL7 - переписывать все это дело гиморно.

Сначала был переход на 2000, а сейчас на 2005, + с ASP переводил на ASP.NET.



Кто-нибудь знает универсальный формат даты для ХП?
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
02.02.2007, 15:50
Тогда попробуй перед вызовом процедуры добавить команду SET DATETIME dmy. То есть полный текст команды будет: cmd.CommandText="SET DATETIME dmy; EXEC sp_name @status=0,@dat='03.16.2005 04:01:17'"
Также в T-SQL существует переноимсый формат даты, но он распространяется только на дату без времени. Это строка вида 'yyyymmdd'. Для универсальной передачи даты можно использовать функцию CONVERT передавая ей нужный формат даты третьим параметром. Подробности смотри в Books online.
0
1 / 1 / 0
Регистрация: 01.07.2010
Сообщений: 84
02.02.2007, 17:05  [ТС]
Только не SET DATETIME dmy , а SET DATEFORMAT dmy - ничего не дает.

Поигрался с последовательностью и пришел к локальному выводу: 16.03.2005 04:01:17 - дд.мм.гггг подошло, странно ...

Посмотрел данные за прошлые года - там вообще было: гггг.мм.дд, потом мм.дд.гггг и только сейчас как на родине - дд.мм.гггг подошло.



Вывод: храните дату разделив ее на разные столбцы - отдельно год, месяц и день!

(так и сделано в половине таблиц, а вот во второй в одном поле - с ним и проблемы)
0
86 / 62 / 69
Регистрация: 15.03.2007
Сообщений: 6,903
02.02.2007, 17:30
lurii (02.02.2007)
Только не SET DATETIME dmy , а SET DATEFORMAT dmy - ничего не дает.
Упс. Точно. Ошибся я.

lurii (02.02.2007)
Вывод: храните дату разделив ее на разные столбцы - отдельно год, месяц и день!
(так и сделано в половине таблиц, а вот во второй в одном поле - с ним и проблемы)
Тут я с тобой не согласен. Лучше все таки хранить дату как тип "дата". Это более эффективно с точки зрения объема данных и дает возможность использования функций работы с датой (datediff, например). И опять же такой проблемы у тебя бы не было если ты передавал дату как параметр. Я помню что ты говорил про ограничения движка, просто напоминаю в чем реальный корень проблемы. Советую посмотреть исходный текст класса SqlHelper который я выкладывал <A href=http://www.relib.com/forums/FindPost901098.aspx>в этой теме. Я им постоянно пользуюсь.
0
1 / 1 / 0
Регистрация: 01.07.2010
Сообщений: 84
02.02.2007, 21:16  [ТС]
Да, посмотрел я этот класс - вполне удобно.
У мня что-то похожее, причем идентично и на PHP и на .NET, но не позволяет использовать параметры - только чистый текстовый sql-запрос:
C#
1
2
3
4
5
6
7
8
9
10
11
<%
if(sql_exec("select * from t_news")){
 if(!rs_full()){
  %>Нет записей<%
 }else{
  while(rs_next()){
   %><%=rs("name")%><%
  };
 };
};
%>
Отличия на PHP - вместо % идет ?
Надо будет поболее изучить SqlHelper и взять из него полезные возможности.
(и все-таки использовать параметры у процедур неудобно IMHO)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.02.2007, 21:16
Помогаю со студенческими работами здесь

Предупреждение CA1009 Объявите первый параметр для параметр для 'MyDelegate' как объект с именем "sender
Я не могу понять как убрать это предупреждение? это у меня событие которое возникает при подключении нового клиента using System; ...

Как разделить колонку с форматом Дата/время на две - Дата и время
Здравствуйте. Подскажите пожалуйста, как разделить колонку с форматом Дата/время на две - Дата и время Задача выглядит следующим...

Access запрос Есть два поля : дата начало и дата окончания
Есть два поля : дата начало и дата окончания. Если дата находиться в диапазоне то нужно выводить в поле &quot;важность&quot; запись...

Открыть файл по параметрам: Дата создания, Дата изменения , Размер
Добрый день уважаемые господа программисты. Кто сталкивался с подобной задачей?: Необходимo открыть файл .txt на Autoit не...

Дата хранится в виде записи; определить, какая дата будет через А дней
Сегодняшняя дата хранится в записи с тремя полями. Определить, какая дата будет через А дней.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru