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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2009, 17:20   #1
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию перевод varchar в int в dataset

ADO,SQL SERVER. В датасете есть переменные типа варчар (целые числа). Нужно перегнать эти данные в int или float и сложить в эдите.
Возникла гениальная идея создать массив, куда поместить данные варчар, а затем с помощью strrofloat отформатировать в float и сложить.
Может, у кого-нибудь возникли другие идеи?
kate158 вне форума Ответить с цитированием
Старый 13.05.2009, 17:29   #2
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

а попробуйте без масиива, просто перебрать все переменные, преобразуя их и суммируя.
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 13.05.2009, 17:37   #3
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

вот мой кусок кода. здесь я выбираю временной интервал и получаю нужные числа.
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Present1: TDateTime;
Present2: TDateTime;
begin
Present1:= DateTimePicker2.Date;
Present2:= DateTimePicker3.Date;
two.SQL.Clear; 
two.SQL.Add('select ee');
two.SQL.Add('from table');
two.SQL.Add('WHERE DATA BETWEEN '+''''+FormatDateTime( 'dd.mm.yyyy', Present1)+'''');
two.SQL.Add('AND '+''''+FormatDateTime( 'dd.mm.yyyy', Present2)+'''');
two.CLOSE;
two.Open;
EDIT3.Text:=strtofloat(two.Fields[0].ASSTRING);//здесь попытка перевести одну запись в float..
end;
как ко всему этому привязать построчный перевод?
kate158 вне форума Ответить с цитированием
Старый 13.05.2009, 17:47   #4
Dark_Spirit
Форумчанин
 
Аватар для Dark_Spirit
 
Регистрация: 05.02.2009
Сообщений: 324
По умолчанию

Цитата:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Present1: TDateTime;
Present2: TDateTime;
begin
Present1:= DateTimePicker2.Date;
Present2:= DateTimePicker3.Date;
two.SQL.Clear; 
two.SQL.Add('select ee');
two.SQL.Add('from table');
two.SQL.Add('WHERE DATA BETWEEN '+''''+FormatDateTime( 'dd.mm.yyyy', Present1)+'''');
two.SQL.Add('AND '+''''+FormatDateTime( 'dd.mm.yyyy', Present2)+'''');
two.CLOSE;
two.Open;
EDIT3.Text:=strtofloat(two.Fields[0].ASSTRING);//здесь попытка перевести одну запись в float..
end;
я так думаю что сначала нужно убhать строчку
Код:
 
two.CLOSE;
потом.... ваш скрипт возвратит набор данных, а не одно значение
можно попробовать поступить так:
Код:
while not two.eof do
 begin
  sum:=sum+two.fields[0].value;
  two.next;
 end;
edit3.text:=inttostr(sum)
Тяжело быть бестолковым.....
Dark_Spirit вне форума Ответить с цитированием
Старый 13.05.2009, 17:49   #5
kate158
Форумчанин
 
Регистрация: 01.08.2008
Сообщений: 383
По умолчанию

спасибо. буду пробовать. =)
kate158 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить в InterBase размер поля varchar(10) на varchar(20) tarakan1983 БД в Delphi 4 23.03.2009 15:35
Можно ли сделать SUM данных таблицы с типом varchar? xxxsas SQL, базы данных 4 24.01.2009 22:42
varchar to blob in phpmyadmin Alar SQL, базы данных 0 11.01.2009 07:14
dataset sergei64_89 Общие вопросы .NET 1 19.09.2008 20:14
перевод из int в массив char. Freeman Общие вопросы C/C++ 5 30.05.2008 17:49