|
|
|
удалить дублирующие записи в PERVASIVE
|
|||
|---|---|---|---|
|
#18+
В таблице есть две совершенно одинаковых записи, DELETE удаляет обе как удалить одну? а одну оставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2007, 12:24 |
|
||
|
удалить дублирующие записи в PERVASIVE
|
|||
|---|---|---|---|
|
#18+
Если нет автоинкремента - используется физический адрес записи. Удалить есть куча вариантов 1. Утилитой Function Executor 2. TPvTable компонентой из PDAC 3. Из PCC 4. Используя DTI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 07:41 |
|
||
|
удалить дублирующие записи в PERVASIVE
|
|||
|---|---|---|---|
|
#18+
По первому способу примерчик можно? (с БД работаем из-под Дельфи) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2007, 11:09 |
|
||
|
удалить дублирующие записи в PERVASIVE
|
|||
|---|---|---|---|
|
#18+
Под delphi, типа этого q1.DatabaseName:= BaseFile; q1.SQL.Clear; q1.SQL.Text:= 'select * from noise where ...........'; q1.Open; if q1.RecordCount > 1 then // дубль есть for i:= 1 to q1.RecordCount -1 do begin // все кроме одной q1.First; g1.delete; end; q1.Close; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2007, 10:00 |
|
||
|
удалить дублирующие записи в PERVASIVE
|
|||
|---|---|---|---|
|
#18+
Сам-то пробовал? Ругнется этот Delete, позиционируй-не позиционируй и удалит обе строки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 13:32 |
|
||
|
удалить дублирующие записи в PERVASIVE
|
|||
|---|---|---|---|
|
#18+
Это все просто - вот рабочий кусок , Это база CREATE TABLE "proba_del"( "I1" INTEGER, "I2" INTEGER ); До программы в базе (копия из PCC) <<<<<<<<<<<<<<<<<<<<<<<< I1 I2 =========== =========== 2 2 1 1 2 2 1 1 3 3 3 3 3 3 7 rows were affected. После выполнения программы (копия из PCC) <<<<<<<<<<<<<<<<<<<<<<<< I1 I2 =========== =========== 1 1 2 2 1 1 3 3 3 3 3 3 6 rows were affected. >>>>>>>>>>>>>>>>>>>>>>>> unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, Grids, DBGrids, pvtables, btvtables, pvip, StdCtrls, pvsqltables, sqldataset, DBCtrls; type TForm1 = class(TForm) Button1: TButton; pses: TPvSession; Tbl: TPvTable; DataSource1: TDataSource; DBGrid1: TDBGrid; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin pses.ServerName:= 'info-btr'; pses.Active:= True; Tbl.DatabaseName:= 'Proba'; Tbl.TableName:= 'proba_del'; Tbl.Open; Tbl.Filter:= 'i1 = 2'; Tbl.Filtered:= True; Tbl.First; while not Tbl.Eof do begin Tbl.delete; Tbl.Next; end; Tbl.Filtered:= False; Tbl.Close; pses.Active:= False; end; end. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 14:20 |
|
||
|
|

start [/forum/topic.php?fid=56&gotonew=1&tid=2016056]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 342ms |

| 0 / 0 |
