Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2014, 15:45   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

getdate() в качестве параметра процедуры MS SQL и не поймет.
И параметром нет никакой необходимости передавать. В процедуре обратится к этой функции.
А если значение по умолчанию сделали, то вообще не надо ничего - при вставке само запишется
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.04.2014, 16:22   #12
spotip
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 68
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
getdate() в качестве параметра процедуры MS SQL и не поймет.
И параметром нет никакой необходимости передавать. В процедуре обратится к этой функции.
А если значение по умолчанию сделали, то вообще не надо ничего - при вставке само запишется
в таблице у меня 2 столбца: pnd5 (float) и getdate (datetime) c значением по умолчанию (getdate()), при присутствии в таблице этих 2 параметров не выполняется процедура:
Код:
GO
create procedure new_turb(@pnd5 float)
as
Begin
insert into turb values ((select ISNULL(MAX(id)+1,1) from turb),
@pnd5)
end
пишет Сообщение 213, уровень 16, состояние 1, процедура new_turb, строка 4
Имя столбца или число предоставленных значений не соответствует определению таблицы, а если удаляю столбец getdate (datetime) то процедура выполняется и дальше в программе через dbgrid проходит добавление значений , как мне добавить в эту процедуру столбец getdate (datetime) ?
spotip вне форума Ответить с цитированием
Старый 14.04.2014, 16:25   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

В insert-е есть формат с указанием перечня полей. В этом перечне не указывать поле с умолчанием
Цитата:
в таблице у меня 2 столбца
Цитата:
insert into turb values ((select ISNULL(MAX(id)+1,1) from turb),@pnd5)
Ни фига не понял, что пытаетесь вставить. Наверно три столбца
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.04.2014 в 16:27.
Аватар вне форума Ответить с цитированием
Старый 14.04.2014, 16:28   #14
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Цитата:
Имя столбца или число предоставленных значений не соответствует определению
в тут усе ё.
eval вне форума Ответить с цитированием
Старый 14.04.2014, 16:33   #15
spotip
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 68
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
В insert-е есть формат с указанием перечня полей. В этом перечне не указывать поле с умолчанием
Ни фига не понял, что пытаетесь вставить. Наверно три столбца
да третий столбец id
spotip вне форума Ответить с цитированием
Старый 14.04.2014, 16:38   #16
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

последняя попытка
http://technet.microsoft.com/ru-ru/l.../ms174335.aspx
eval вне форума Ответить с цитированием
Старый 14.04.2014, 17:27   #17
spotip
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 68
По умолчанию

всем спасибо за терпение и помощь, всё получилось:
Код:
GO
create procedure new_turb(@pnd5 float)
as
Begin
insert into turb values ((select ISNULL(MAX(id)+1,1) from turb),
@pnd5, getdate())
end
spotip вне форума Ответить с цитированием
Старый 14.04.2014, 19:17   #18
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Цитата:
select ISNULL(MAX(id)+1,1) from turb
это типа инкремент? это засада
eval вне форума Ответить с цитированием
Старый 15.04.2014, 09:31   #19
spotip
Пользователь
 
Регистрация: 09.06.2010
Сообщений: 68
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
это типа инкремент? это засада
ну собственно да инкремент, а почему засада ?)
spotip вне форума Ответить с цитированием
Старый 15.04.2014, 09:34   #20
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

потому что не хотите читать, что будет если 2 человека одновременно будут вставлять? правильно ид будет один и тот же, а это и есть капец
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение файла с указанием текущей даты и текущего времени Alexsandrr Помощь студентам 4 09.10.2013 16:14
Занесение даты в SQL-Server 2008 $T@LKER БД в Delphi 17 15.03.2011 16:07
Макрос вставки текущей даты и времени в примечание. Severny Microsoft Office Excel 3 20.12.2010 14:09
Запись текущей даты времени в текстовый файл kanich Помощь студентам 3 07.09.2010 13:05
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) cherw9!40k Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.01.2010 20:51