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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2016, 20:30   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это не запрос. Параметризованные запросы в #7 от ТС. Только если он строки сует в не строковые параметры, то это зря
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.02.2016, 22:53   #12
sergey_sergey
Пользователь
 
Регистрация: 09.02.2016
Сообщений: 14
По умолчанию

да вроде ж описал все параметры в свойствах Parameters у adoquery. Указывал тип ftString или ftDateTime в зависимости от типа поля в БД. Direction у всех стоит pdInput . Значения NumericScale , Precision и Size не трогал ни у кого


вариант
Цитата:
var
fv1,fv3,fv4: string;
...........
fv1:=FormatDateTime('yyyy-mm-dd hh:nn:ss',strtodatetime(Edit_Data_v isova.Text+Edit_Time_visova.Text));
with dm.ADOQ_new_visov do
begin
sql.Clear;
sql.Text:='insert into visov (data_v,tel_client,np_pod)' +
' values ('+fv1+','+fv3+','+fv4+')';
почему-то не работает

Последний раз редактировалось sergey_sergey; 09.02.2016 в 23:02.
sergey_sergey вне форума Ответить с цитированием
Старый 10.02.2016, 09:30   #13
sergey_sergey
Пользователь
 
Регистрация: 09.02.2016
Сообщений: 14
По умолчанию

Цитата:
А чего в параметр заносишь данные в строковом виде? Заноси в формате TDateTime без FormatDateTime, адо само разберется как его в базу передать. На то и параметризация, что бы не ломать голову над представлением данных.
переделал:
Цитата:
// Parameters.ParamByName('fv1').Value :=FormatDateTime('yyyy-mm-dd hh:nn:ss',strtodatetime(Edit_Data_v isova.Text+Edit_Time_visova.Text));

Parameters.ParamByName('fv1').Value :=strtodatetime(Edit_Data_visova.Te xt+' '+Edit_Time_visova.Text);
теперь стабильно время - нули(
sergey_sergey вне форума Ответить с цитированием
Старый 10.02.2016, 17:18   #14
sergey_sergey
Пользователь
 
Регистрация: 09.02.2016
Сообщений: 14
По умолчанию

поставил пикеры. код переписал:
Цитата:
ShowMessage(DateTimeToStr(Int(Edit_ data_visova.Date) + Frac(Edit_time_visova.Time)));
Цитата:
Parameters.ParamByName('fv1').DataT ype:=ftDateTime;
Parameters.ParamByName('fv1').Value :=Int(Edit_data_visova.Date) + Frac(Edit_time_visova.Time);
теперь стабильно время ноль. в showmessage всё ок
где копать , не пойму
sergey_sergey вне форума Ответить с цитированием
Старый 10.02.2016, 18:50   #15
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Посмотрите текст SQL перед запросом. Да и исходники глянуть, если не жаль...
Iron Monk вне форума Ответить с цитированием
Старый 10.02.2016, 21:39   #16
sergey_sergey
Пользователь
 
Регистрация: 09.02.2016
Сообщений: 14
По умолчанию

в смысле посмотреть текст? вывести на экран? я уже просто Now пишу в поле. Дата просаживается, время -нет(
sergey_sergey вне форума Ответить с цитированием
Старый 10.02.2016, 21:42   #17
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от sergey_sergey Посмотреть сообщение
в смысле посмотреть текст? вывести на экран? я уже просто Now пишу в поле. Дата просаживается, время -нет(
да, вывести на экран. И смотреть. Запрос или ответ тухлый.
Iron Monk вне форума Ответить с цитированием
Старый 10.02.2016, 21:46   #18
sergey_sergey
Пользователь
 
Регистрация: 09.02.2016
Сообщений: 14
По умолчанию

большущее спасибо за отзывчивость!
Цитата:
ShowMessage(DateTimeToStr(Int(Edit_ data_visova.Date) + Frac(Edit_time_visova.Time)));
with dm.ADOQ_new_visov do
begin
sql.Clear;
sql.Text:='insert into visov (data_v,tel_client)' +
' values (:fv1,:fv3)';
ShowMessage(sql.Text);
Parameters.ParamByName('fv1').DataT ype:=ftDateTime;
Parameters.ParamByName('fv1').Value :=Now;
Parameters.ParamByName('fv3').Value :=Nom_tel.Text;
ExecSQL;
end;
оставил самый минимум уже
sergey_sergey вне форума Ответить с цитированием
Старый 10.02.2016, 21:49   #19
sergey_sergey
Пользователь
 
Регистрация: 09.02.2016
Сообщений: 14
По умолчанию

вот дата и время и текст sql
Изображения
Тип файла: png 1.png (18.0 Кб, 57 просмотров)
Тип файла: png 2.png (14.6 Кб, 63 просмотров)
sergey_sergey вне форума Ответить с цитированием
Старый 10.02.2016, 21:50   #20
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А без заполнения DataType? Да и текст SQL тот, который на сервер идет. В MySQL есть же журналирование запросов, там и посмотреть. Не в курсе, может и другие средства есть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 10.02.2016 в 21:55.
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подсчет времени,как сохранить значение (дельфи) as_sati Помощь студентам 3 12.05.2013 18:17
противоположное значение момента времени =(( masluk Общие вопросы C/C++ 0 15.12.2012 09:22
цикл в классе не проходит.выбирает только первое значение Timmon Помощь студентам 4 20.10.2012 03:10
При экспорте базы в Excel выводит везде первое значение Aleksandr Общие вопросы Delphi 1 25.04.2011 12:07
выбрать первое и последнее значение в списке по условию simpleGo Microsoft Office Excel 4 06.12.2010 19:43