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

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

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

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

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

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

Цитата:
DELETE * FROM Vibration
Енто чего?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.08.2015, 14:25   #72
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

ADOTable1.Requery(); заменил на ADOquery1.Requery();
и не работает
Ernest027 вне форума Ответить с цитированием
Старый 05.08.2015, 15:15   #73
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
ADOTable1.Requery(); заменил на ADOquery1.Requery();
и не работает
1) зачем Вы заменили ADOTable на ADOQuery?

2) при замене Вы не забыли в ADOQuery прописать Connection
и, главное, SQL запрос вида:
Код:
select * from Vibration
3) Вы не забыли в DataSource1 перенастроить связь и вместо ADOTable1 прописать так ADOQuery1 ?

4) кстати, а в чём именно проявляется это ваше "и не работает"?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.08.2015, 15:40   #74
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

все сделал
пишет "неправильный синтаксис около конструкции "*""

Код:
function DetectDecimalSeparator(const Text:string):char;
var i,comma,dot:Integer;
begin
  comma:=0;
  dot:=0;
  for i := 1 to Length(Text) do
  begin
    if Text[i]=',' then Inc(comma) else
    if Text[i]='.' then Inc(dot);
  end;
  if comma>dot then
    Result:=',' else
  if comma<dot then
    Result:='.' else
    Result:=FormatSettings.decimalseparator;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i,j:integer;
  lines:TStringList;
  row:array[0..3] of TStringList;
  Command:TADOCommand;
  OldDecimalSeparator:Char;
begin
  if not Clipboard.HasFormat(CF_TEXT) then exit;
  lines:=TStringList.Create();
  try
    lines.Text:=ClipBoard.AsText;
    if lines.Count<4 then exit;
    for i:=low(row) to high(row) do
      row[i]:=TStringList.Create;
    try
      for i:=low(row) to high(row) do
        row[i].Text:=StringReplace(lines[i], #9,#13#10, [rfReplaceAll]);
      OldDecimalSeparator:=FormatSettings.DecimalSeparator;
      FormatSettings.DecimalSeparator:=DetectDecimalSeparator(lines.Text);
      try
        lines.Clear;
        Command:=TADOCommand.Create(nil);
        try
          Command.Connection:=ADOConnection1;
          Command.CommandText:='DELETE * FROM Vibration';
          Command.Execute;

          Command.CommandText:='INSERT INTO Vibration (f, a, v, d) VALUES (:f, :a, :v, :d)';
          Command.Prepared:=true;
          Command.Connection.BeginTrans;
          try
            for i:=0 to row[0].Count-1 do
            begin
              if (i<=3) or (i>=1605) then continue;
              for j:=0 to Command.Parameters.Count-1 do
                Command.Parameters[j].Value:=StrToFloatDef(row[j][i],0);
              Command.Execute;
            end;
            Command.Connection.CommitTrans;
          except
            Command.Connection.RollbackTrans;
            raise;
          end;
        finally
          Command.Free;
        end;
      finally
        FormatSettings.DecimalSeparator:=OldDecimalSeparator;
      end;
    finally
      for i:=low(row) to high(row) do
        row[i].Free;
    end;
  finally
    lines.free;
  end;
  ADOQuery1.Requery();
end;

Последний раз редактировалось Stilet; 07.08.2015 в 08:53.
Ernest027 вне форума Ответить с цитированием
Старый 05.08.2015, 15:51   #75
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

* не нужна!! мы же не поля удаляем, а целиком запись(или несколько)
Код:
Delete form ...
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 05.08.2015, 15:51   #76
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

см. #71
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.08.2015, 16:19   #77
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

все хорошо, но сортирует непонятно
Изображения
Тип файла: jpg 1.jpg (26.3 Кб, 135 просмотров)
Ernest027 вне форума Ответить с цитированием
Старый 05.08.2015, 16:34   #78
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
все хорошо, но сортирует непонятно
А нужно понятно? В том коде вообще не вижу ни чего каким-то образом связанного с сортировкой и отображением. Разве что ADOQuery1 упоминается ненароком
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.08.2015, 16:35   #79
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

вот именно,не нужна сортировка. в исходной таблице все числа по порядку,а прога после копирования в ado сама сортирует непонятно как
Ernest027 вне форума Ответить с цитированием
Старый 05.08.2015, 16:37   #80
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
в исходной таблице все числа по порядку
Сделай в запросе нужную сортировку, к табличной упорядоченности привязываться бессмысленно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADO, записи в таблицу User_IR_An БД в Delphi 4 09.04.2014 14:03
Нужно создать таблицу в access with ado hemn6vyr БД в Delphi 2 27.03.2013 22:56
как очистить всю таблицу в ado aleksandr1990 C++ Builder 1 10.11.2011 12:57
Не сохраняет данные в таблицу (ADO) alatir БД в Delphi 6 09.06.2010 02:39
Добавление записи в таблицу (ADO) Yura_S БД в Delphi 12 25.11.2009 19:11