ilk-den sona kadar ID Update etmek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
baby-boy
Üye
Mesajlar: 10
Kayıt: 30 Eyl 2010 08:12

ilk-den sona kadar ID Update etmek

Mesaj gönderen baby-boy »

Selam arkadaşlar. Yaklaşık 4 saatdir takıldığım bi sorun var...
Ben Buttona basıldığında Mysql tablomda olan satırlara sıra numaralarını atamak istiyorum. Bunu Autoİncrement yapa biliyor, ama ben Satır silindiğinde o satrın sıra numarasının boşda kalmasını istemiyorum.Zatem (Master Detail tablolarım da yok) İstediğim şey her seferinde buttona tıklandığında, tablomun satırlarının sıra numararının UPDATE olunması.
Aslında while do döngüsü ile bir az uğraşdım ama yapamadım. Lütfen yardımcı olun. Teşekkürler.
baby-boy
Üye
Mesajlar: 10
Kayıt: 30 Eyl 2010 08:12

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen baby-boy »

Deyerli abiler bunun bir cevabını bilen yokmu?? Nolur yardım edin.
baby-boy
Üye
Mesajlar: 10
Kayıt: 30 Eyl 2010 08:12

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen baby-boy »

Bana biri yardım etsin :duvar:
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen CiTiZEN »

while do ile ilgili kodlarını paylaşırmısın burda nasıl yapmaya çalıştın hata varsa bakalım
UWESIS CORPORATION
baby-boy
Üye
Mesajlar: 10
Kayıt: 30 Eyl 2010 08:12

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen baby-boy »

Citizen kardeş kodları aşağıdakı şekilde yazıyorum ama, SQL syntax error diyor, bir türlü anlamıyorum.

Kod: Tümünü seç

procedure TForm1.Button3Click(Sender: TObject);
var
a:integer;
begin
a:=0;
UniQuery1.Active:=true;
UniQuery1.First;
while not UniQuery1.Eof do
  begin
     inc(a);
    UniQuery1.Open;
    UniQuery1.SQL.Add('Select * from sale_copy_tmp where object_order_number=:oon ;');
    UniQuery1.Params.ParamByName('oon').AsInteger := a;
    UniQuery1.Execute;
    UniQuery1.Next;
end;
 end;
baby-boy
Üye
Mesajlar: 10
Kayıt: 30 Eyl 2010 08:12

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen baby-boy »

Yukarıda SQL codunu yanlış yazmışım. Aslında Mysql cod aşağıdakı gibi olucak:

Kod: Tümünü seç

UniQuery1.SQL.Add('UPDATE sale_copy_tmp SET object_order_number = :oon');
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen mkysoft »

Direk veri tabanına yaptırabilirsiniz.

Kod: Tümünü seç

SET @RowId := 0;
update tablom alanim=(select @RowId := @RowId + 1) order by alanim
sql komutlarını tek tek çalıştırmayı unutmayın.
baby-boy
Üye
Mesajlar: 10
Kayıt: 30 Eyl 2010 08:12

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen baby-boy »

Abicim kod için çok teşekkür ederim, ama kodu anlayamadım. Bir de
sql komutlarını tek tek çalıştırmayı unutmayın.
dedikde neyi kast etdiniz???
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen orhancc »

T-SQL de şöyle bir komut var

Kod: Tümünü seç

DBCC CHECKIDENT
mysql de çalışır mı bilemem bir dene istersen
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen mkysoft »

her satırı tek tek exec edeceksin programın içinden.
babyboy
Üye
Mesajlar: 31
Kayıt: 03 Eki 2010 11:29

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen babyboy »

Hocam çok rica ederim kodları tam şekilde yazarmısın. Bir türlü yapamadım. Tablemin adı sale_copy_tmp , colum_name-imin adı ise object_order_number . Çok rica ederim tam şekilde kod yazarmısınız?
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen conari »

SQL rownumber() var Mysql de bilmiyorum ama dene bakalım..

Kod: Tümünü seç

UPDATE sale_copy_tmp SET object_order_number = rownumber() order by Object_order_number ASC;
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen mkysoft »

mysql'de rownumber() yok malasef, dediğim yöntemle yapılabiliyor.

Kod: Tümünü seç

SET @RowId := 0;

Kod: Tümünü seç

update sale_copy_tmp set object_order_number =(select @RowId := @RowId + 1) order by object_order_number
babyboy
Üye
Mesajlar: 31
Kayıt: 03 Eki 2010 11:29

Re: ilk-den sona kadar ID Update etmek

Mesaj gönderen babyboy »

Conari, çaban için çok teşekkür ederim.Malasef MySQL-de rownuber() function-u mevcut değil. MkySoft yardımın için çok teşekkür ederim. Kaç gündür deli olmak üzereydim. Hepinize teşekkürler
Cevapla