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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2016, 01:01   #1
Kuboslav12
Новичок
Джуниор
 
Регистрация: 21.11.2016
Сообщений: 1
По умолчанию Проблема с преобразованием числа в строку

У меня имеется бд в access . В таблице строка(Телефон) имеет числовое тип, мне в эту строку нужно добавить числовое значение.
Получилось только сделать через две переменные. А хотелось бы только через одну - phone. Как это можно реализовать ?
Код:
var
 p:string;
 phone:integer;
begin
 phone:=IntToStr(edt14.Text);
 p:=IntToStr(edit14.Text);
 qry3.SQL.Clear;
 qry3.SQL.Add('insert into tabl2([Phone]) VALUES ('+#39+p+#39+')')
Kuboslav12 вне форума Ответить с цитированием
Старый 21.11.2016, 07:05   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
Сообщение от Kuboslav12 Посмотреть сообщение
У меня имеется бд в access . В таблице строка(Телефон) имеет числовое тип, мне в эту строку нужно добавить числовое значение.
В таблице строка "числовое тип" не обязательно , Можно делать "текстовый тип"
1)
Код:
procedure TForm1.MyPhoneSave;
  var MyPhone: string;
begin
  MyPhone:=  (Trim(frmAddEdit.edtProne.Text));
  if MyPhone='' then
    begin
        Beep();
        MessageDlg('Пожалуйста пишите номер телефона', mtError,[mbOK], 0);
        if frmAddEdit.edtProne.CanFocus then
           frmAddEdit.edtProne.SetFocus;
        Abort;
    end
  else
  begin
    with qry3 do
      begin
        with SQL do
          begin
            Clear;
            Add('insert into Tab1(MyProne) values (:pMyProne)');
            Parameters.ParamByName('pMyProne').Value := MyPhone;
          end;
        ExecSQL;
      end;
  end;
 frmAddEdit.Close;
end;

end.
2)
Код:
procedure TfrmAddEdit.btnSaveClick(Sender: TObject);
begin
  Form1.MyPhoneSave;
end;

Последний раз редактировалось xxbesoxx; 21.11.2016 в 13:39.
xxbesoxx вне форума Ответить с цитированием
Старый 21.11.2016, 08:31   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Kuboslav12 Посмотреть сообщение
А хотелось бы только через одну - phone.
Код:
phone:=IntToStr(edt14.Text);
qry3.SQL.Add('insert into tabl2([Phone]) VALUES ('+QuotedStr(IntToStr(p))+')');
но здесь переменная вообще не нужна.
Код:
qry3.SQL.Add('insert into tabl2([Phone]) VALUES ('+QuotedStr(edt14.Text)+')');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2016, 09:12   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
В таблице строка(Телефон) имеет числовое тип, мне в эту строку нужно добавить числовое значение.
Автор, уточни Телефон все таки какого типа - числового или строкового? Если и правда числового, то так просто нельзя из Edit.Text. Нужно хотя бы проконтролировать, что в нем число, а не ребус какой-то
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 21.11.2016 в 09:15.
Аватар вне форума Ответить с цитированием
Старый 21.11.2016, 11:39   #5
Loqwer78rus
Пользователь
 
Регистрация: 24.03.2014
Сообщений: 60
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Автор, уточни Телефон все таки какого типа - числового или строкового? Если и правда числового, то так просто нельзя из Edit.Text. Нужно хотя бы проконтролировать, что в нем число, а не ребус какой-то
Числового типа.
Loqwer78rus вне форума Ответить с цитированием
Старый 21.11.2016, 13:53   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Loqwer78rus Посмотреть сообщение
Числового типа.
а почему Вы отвечаете на вопрос? Он же задан автору темы - Kuboslav12.
Вы какое к нему (и к задаче) имеете отношение?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.12.2016, 13:38   #7
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от Kuboslav12 Посмотреть сообщение
У меня имеется бд в access . В таблице строка(Телефон) имеет числовое тип, мне в эту строку нужно добавить числовое значение.
Получилось только сделать через две переменные. А хотелось бы только через одну - phone. Как это можно реализовать ?
Код:
var
 p:string;
 phone:integer;
begin
 phone:=IntToStr(edt14.Text)Delphi не ругается---???????? ;
 p:=IntToStr(edit14.Text);Delphi не ругается---???????? ;
 qry3.SQL.Clear;
 qry3.SQL.Add('insert into tabl2([Phone]) VALUES ('+#39+p+#39+')')

Свойство edt14.NumbersOnly в true

Цитата:
begin
try
qry3.SQL.text:='insert into tabl2([Phone]) VALUES ('+quotedstr(edt14.Text)+')';
qry3.ExecSQL; (или qry3.active:=true; )
except
showmessage('Что-то пошло не так....');
end;
end;
Я так и не понял зачем ТС по десть раз преобразовывает переменные. МБ это фича Аксесса какая-то, я с ним не работал-чур его)
Пишу много и развернуто

Последний раз редактировалось Heneken87; 20.12.2016 в 13:59.
Heneken87 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с преобразованием alexey_kip Общие вопросы C/C++ 7 16.05.2013 14:29
Проблема с чтением и преобразованием данных с COM порта Andybrain Win Api 8 20.09.2012 15:47
Проблема с преобразованием PDF в doc flower-flow Помощь студентам 12 14.05.2010 13:47
Структуры+функции, Проблема с преобразованием. CooL_bobrui Общие вопросы C/C++ 7 25.11.2009 17:58
проблема с преобразованием строки в число в С++ Lorden Помощь студентам 21 03.04.2009 14:05