database alanlarinin istenildigi sekile getirme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

database alanlarinin istenildigi sekile getirme

Mesaj gönderen rapsodim »

15 karakter uzunlugundaki bir alan var.ama bu alan içerisinde bulunan kayıtlar farklı uzunlukta (ornegin 25000 gibi) bu değeri 000000000025000 haline nasıl getirebilirim.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Eğer bunu delphide yapmak istiyorsan kolay,bir functiona bu değeri gönder, uzunluğu 15 olana kadar başına 0 eklet.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

program icinde

Mesaj gönderen rapsodim »

bu dedıgınız nasıl koda dokecegım bunu acıklayabılırmısınız?
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
    EditCek:Integer;
    EditYolla:String;
begin
    EditCek := 123333;
    EditYolla := '';
    FmtStr(EditYolla,'%.15d', [EditCek]);
    Edit1.Text := EditYolla;
end;
Yukarıda vermiş olduğum kodu bir incele şayet veritabanındaki alanlarda bunu yapmak istiyorsanız alanlarınız integer tanımlı ise butipte bir kayıt alanlara yapamazsınız :idea:

Kolay Gelsin....

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

tüm kayıtlar için nasıl

Mesaj gönderen rapsodim »

hüseyin bey tşkr ederim fakat bu gonderdıgınız kod tek kayıt ıcın tum database ilgili alanlarına nasıl uygularım.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Döngülerin sihrinden yararlanarak :wink:

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

o sihiri bulmaya çalışayım tekrar teşekkür ederim.
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

ilk önce first der ilk kayda gidersin sonra tablo sonuna kadar next dersin olur biter
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
onaydin

Mesaj gönderen onaydin »

sql marifetiyle

Kod: Tümünü seç

SELECT ALAN_NO,DEGER=(REPEAT('0',15-LENGTH(TUTAR)))||TUTAR FROM "DBA"."table"
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Kullanılan select yazımı istenen veritabanında geçerli olmayabilir.. Çünkü veritabanı belirtilmemiş... Kurallar pek havada kaldığından olsa gerek :?

Aşağıdaki kod ile halledebilirsin.

Kod: Tümünü seç

...
Table1.First;
while not Table1.EOF do
begin
  Table1.Edit;
  Table1.FieldByName('ALAN').AsString := 
      copy('000000000000000', 1, 15 - length(trim(Table1.FieldByName('ALAN').AsString)) + trim(Table1.FieldByName('ALAN').AsString);
  Table1.Post;
  Table1.Next;
end;
...
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

rsimsek yazdı:Kurallar pek havada kaldığından olsa gerek :?
kendisi kaybeder abi :!: Ben sürekli tekrarlıyorum. Hatta bazı üyelerimiz ara sıra nükte bile yapıyor, Bak admin şimdi şöyle söyleyecek diye :D

Veritabanını söylese belki de çok daha spesifik, çok daha güzel bir çözüm bulacak. Bu tip kuralları artık hatırlatmaktan bıktım. İsteyen yazsın, isteyen yazmasın. Ama Forum kurallarında asla taviz yok :twisted:

Kolay gelsin.
rapsodim
Üye
Mesajlar: 147
Kayıt: 15 Eki 2003 03:52

Mesaj gönderen rapsodim »

[Error] Unit1.pas(36): Incompatible types: 'String' and 'Integer' şeklinde hata veriyor yazdıgınzı kod bende paradox database kullanıyorum.

Table1.First;
while not Table1.EOF do
begin
Table1.Edit;
Table1.FieldByName('referans').Asinteger :=
copy('00000000000', 1, 11 - length(trim(Table1.FieldByName('referans').Asstring)) + trim(Table1.FieldByName('referans').Asstring);
Table1.Post;
Table1.Next;
end;
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

rapsodim yazdı:[Error] Unit1.pas(36): Incompatible types: 'String' and 'Integer' şeklinde hata veriyor yazdıgınzı kod bende paradox database kullanıyorum.
Table1.FieldByName('referans').Asinteger :=
copy('00000000000', 1, 11 - length(trim(Table1.FieldByName('referans').Asstring)) + trim(Table1.FieldByName('referans').Asstring);
hatan çok belli integer alana string yazıyorsun. o alanı database desktop ile stringe çevirip ondan sonra dene birde 'refernans'.AsString olucak tabi
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Siz integer alana String bir veri atamaya çalışıyorsunuz bu hatayı vermesi normal.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Vay Mege Dostum Zamanlamaya bak :lol:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Cevapla