1

(3 replies, posted in Russian)

Спасибо. Отправил повторно.

2

(3 replies, posted in Russian)

Приветствую Вас.
Прошу помочь с изменением данного скрипта.
Скрипт использовал стандартный для импорта и загрузки через TableGrid.
Загрузка  происходит без проблем и в TableGrid появляются добавленные строки.
Также строки высвечиваются и в TreeView все полностью .
Но после перезапуска программы ,база не загружается выдает ошибку.
--------------------------
Application Error
---------------------------
Exception EConvertError in module методы исследований.exe at 00027EB2.
''ParentID'' is not a valid integer value.
---------------------------
ОК
---------------------------
Данных будет очень много порядка 2000 строк .
Прошу помощи

procedure Searh_Button3_OnClick (Sender: TObject; var Cancel: boolean);
var
   OpenDialog: TOpenDialog;
   sl: TStringList;
   arrStr: array of string;

   i,c: integer;
   sval: string;


Start: double;
begin
    start := GetTickCount;

begin
     OpenDialog := TOpenDialog.Create(Form1);
     OpenDialog.InitialDir := 'C:\';
     if OpenDialog.Execute then
     begin
          sl := TStringList.Create;
          sl.LoadFromFile (OpenDialog.FileName);

          c := sl.Count - 1;
          for i := 0 to c do
          begin
               arrStr := SplitString(sl[i], ';');

               // A-0
               if arrStr[0] <> '' then arrStr[0] := ''''+ ReplaceStr(arrStr[0], '''', '''''') + ''''
                   else arrStr[0] := 'NULL';

                //B-1
                if arrStr[1] <> '' then arrStr[1] := ''''+ ReplaceStr(arrStr[1], '''', '''''') + ''''
                   else arrStr[1] := 'NULL';

               // C-2
               if arrStr[2] <> '' then arrStr[2] := ''''+ ReplaceStr(arrStr[2], '''', '''''') + ''''
                   else arrStr[2] := 'NULL';

                 //D-3
                if arrStr[3] <> '' then arrStr[3] := ''''+ ReplaceStr(arrStr[3], '''', '''''') + ''''
                   else arrStr[3] := 'NULL';

                //E-4
                if arrStr[4] <> '' then arrStr[4] := ''''+ ReplaceStr(arrStr[4], '''', '''''') + ''''
                   else arrStr[4] := 'NULL';

                //F-5
                if arrStr[5] <> '' then arrStr[5] := ''''+ ReplaceStr(arrStr[5], '''', '''''') + ''''
                   else arrStr[5] := 'NULL';

                //G-6
                if arrStr[6] <> '' then arrStr[6] := ''''+ ReplaceStr(arrStr[6], '''', '''''') + ''''
                   else arrStr[6] := 'NULL';

                //H-7
                if arrStr[7] <> '' then arrStr[7] := ''''+ ReplaceStr(arrStr[7], '''', '''''') + ''''
                else arrStr[7] := 'NULL';

                 //I-8
                if arrStr[8] <> '' then arrStr[8] := ''''+ ReplaceStr(arrStr[8], '''', '''''') + ''''
                else arrStr[8] := 'NULL';

                //J-9
                if arrStr[9] <> '' then arrStr[9] := ''''+ ReplaceStr(arrStr[9], '''', '''''') + ''''
                else arrStr[9] := 'NULL';

                //K-10
                if arrStr[10] <> '' then arrStr[10] := ''''+ ReplaceStr(arrStr[10], '''', '''''') + ''''
                else arrStr[10] := 'NULL';

                //L-11
                if arrStr[11] <> '' then arrStr[11] := ''''+ ReplaceStr(arrStr[11], '''', '''''') + ''''
                else arrStr[11] := 'NULL';




               //            check for dublicate  «A», «B», «C», «D», «E», «F», «G», «H», «I», «J», «K», «L», «M»,
               sval := SQLExecute('SELECT ParentID FROM OrgStructure WHERE (Name = ' + arrStr[0] +') AND (ParentID = ' + arrStr[1] +') AND (Name1 = ' +  arrStr[2]+ ')AND (Date = ' +  arrStr[3]+ ')AND (pos = ' +  arrStr[4]+ ') AND (Heracteristica = ' +  arrStr[5]+ ')AND (Diapazon = ' +  arrStr[6]+ ')AND (OborudGost = ' +  arrStr[7]+ ')AND (OborudLab = ' +  arrStr[8]+ ')AND (Metod = ' +  arrStr[9]+ ')AND (GostGost = ' +  arrStr[10]+ ')AND (GostLab = ' +  arrStr[11]+ ');');
               if sval = '' then SQLExecute ('INSERT INTO OrgStructure (Name, ParentID, Name1, Date, pos, Heracteristica, Diapazon, OborudGost, OborudLab, Metod, GostGost, GostLab) VALUES (' + arrStr[0] +','+ arrStr[1] +','+arrStr[2]+','+arrStr[3]+','+arrStr[4]+','+arrStr[5]+','+ arrStr[6]+','+ arrStr[7]+','+ arrStr[8]+','+ arrStr[9]+','+ arrStr[10]+','+ arrStr[11]+');');

             Searh.Label1.Caption := 'загружено: '+ IntToStr(i+1)+'  всего: '+ IntToStr(c+1);

               Application.ProcessMessages;
              Searh.Label2.Caption:= FormatDateTime('hh:mm:ss', ((GetTickCount-start) div 1000) / 86400  );

          end;

     sl.Free;
          Searh.TableGrid1.dbUpdate;
          Form1.TreeView1.dbUpdate; // Update TableGrid
        Form1.TreeView1.dbItemID := last_insert_id; // select new record in TableGrid
          ShowMessage(' Всего загружено: '+ IntToStr (c+1) + ' и сохранено.');
     end;
     OpenDialog.Free;.

Огромное спасибо !!!!!

Приветствую ВАс прошу помочь с примером, форум весь просмотрел так и не нашол ответ на свой вопрос - как скопировать выделенную строку  из 4 столбцов а затем  вставить обратно (одним словом продублировать выделенную строку) Заранее благодарен Владимир.

Огромное Спасибо
будем разбираться.

Приветствую Вас .
Подскажи пожалуйста Дмитрий а как реализовать Импорт из CSV файла в таблицу без ( дубликатов строк ) по вашему примеру
Import CSV simple.zip
пересмотрел весь сайт так и не нашёл ответа на свой вопрос .
Заранее благодарен Владимир

если импортирую тот же CSV файл  в таблицу  ,что бы небыло дубликатов а добавилась только новая строка если она такая появилась .
Еще раз благодарен .