TADOQuery
9 отговора
310 прегледа
TADOQuery
Kogato napisha tova:
adoquery1.first;
while not adoquery1.eof do
begin
adoquery1.delete;
end;
mi izliza greshka (ne vinagi) Kak moga da napisha sushtiq kod bez da mi izliza greshka?
eto i greshkata: "Key column information is insufficient or incorrect. Too many rows were affected by update"
Tazi greshka se poqvqva ponqkoga i pri update na dannite
adoquery1.first;
while not adoquery1.eof do
begin
adoquery1.delete;
end;
mi izliza greshka (ne vinagi) Kak moga da napisha sushtiq kod bez da mi izliza greshka?
eto i greshkata: "Key column information is insufficient or incorrect. Too many rows were affected by update"
Tazi greshka se poqvqva ponqkoga i pri update na dannite
Re: TADOQuery
Предполагам, че таблицата няма индекс (най-добре първичен, уникален).
Наложителен е, особенно ако по някаква причина, има повтарящи се данни в нея.

Наложителен е, особенно ако по някаква причина, има повтарящи се данни в нея.
Create Index - SQL
Kak da suzdam (sus sql cod), unikalen index v tablicata koito avtomatichno da vuvezda unikalno chislo, kakto field-a AutoNumber
Re: Create Index - SQL
Хайде да видим сега кой първи ще познае каква му е базата на момчето
Re: Create Index - SQL
Ами какво да ти кажа... Те хората непрекъснато ти казват - дай типа на базата. Каква е?
Тъй като не си казал, пък и аз не съм "пенкилер", че да зная на всички съществуващи бази SQL диалектите, ето ти нещо което работи на моята любима база - Microsoft SQL Server 2000
SET NOCOUNT ON
USE pubs
GO
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'employeeID_ind')
DROP INDEX emp_pay.employeeID_ind
GO
CREATE UNIQUE CLUSTERED INDEX employeeID_ind
ON emp_pay(employeeID)
WITH PAD_INDEX, FILLFACTOR = 10
GO
а и да не забравя колоната по която е индекса при мен има identity свойство, ако това нещо ти говори...
Тъй като не си казал, пък и аз не съм "пенкилер", че да зная на всички съществуващи бази SQL диалектите, ето ти нещо което работи на моята любима база - Microsoft SQL Server 2000
SET NOCOUNT ON
USE pubs
GO
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'employeeID_ind')
DROP INDEX emp_pay.employeeID_ind
GO
CREATE UNIQUE CLUSTERED INDEX employeeID_ind
ON emp_pay(employeeID)
WITH PAD_INDEX, FILLFACTOR = 10
GO
а и да не забравя колоната по която е индекса при мен има identity свойство, ако това нещо ти говори...
Редактирано от ИвKo на
Re: Create Index - SQL
базата данни ми е Microsoft Access 2000
Извинявайте за закъснението
Извинявайте за закъснението
Re: Create Index - SQL
Така кажи!
Създаване на таблица
CREATE TABLE t1(
a INTEGER,
b TEXT (20)
);
Добавяне на нова колона ID към таблицата, която е autoincrement и е първичен ключ
ALTER TABLE t1
ADD COLUMN ID COUNTER PRIMARY KEY

Създаване на таблица
CREATE TABLE t1(
a INTEGER,
b TEXT (20)
);
Добавяне на нова колона ID към таблицата, която е autoincrement и е първичен ключ
ALTER TABLE t1
ADD COLUMN ID COUNTER PRIMARY KEY
Re: Create Index - SQL
Ако въртиш цикъла само за да изтриеш записите можеш да пробваш
adoquery1.SQL.Text:=' delete from MyTable where ...';
adoquery1.ExecSQL;
или
adoquery1.DeleteRecords(AffectRecords);