comboboxta mdbdeki 'id' sütunumu sıralatmak istiyorum...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

comboboxta mdbdeki 'id' sütunumu sıralatmak istiyorum...

Mesaj gönderen Vampire »

herkese selam!..
kullandığım componentlar şunlar
ado connection
dataset
adotable
dbgrid
---
bunları bağladım birbirine gerekli ayarları yaptım dbgrid de mdb em görüntüleniyor vs.. 2 editbox koydum oralardaki verileri adotable1.fieldbyname asstring.. vs.. bu şekilde satır ekleme olaylarını filan gerçekleştirdim.. yapmak istediğim şey şu.. combobox açıldığında mdb deki id sütunundaki verilerin listelenmesini istiyorum burada id seçilip sil die bi button koyup bunun o idli satırı silmesini istiyorum mdb de bunu yapabilirmiym?.. ya da editbox taki id sayısının olduğu satırı sildirmem mümkünmü.. ve son sorumda şu ado dan mdb e bağlanırken jet li bağlantı türünü seçtim oradan parolayı boş desem de yinede prg çalışırken mdb user pass girmemi istiyio sonuç olarka prg çalışıyor boş parolayla fakat bunuda engellemek isterdim, .. arkl.lar yardımcı olabilirseniz çok sevinicem!!.. teşekkür ediyorum herkese iyi çalışmalar!!
<?
print "success";
?>
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

veritabanındaki istedigin alanları bu sekilde combobox a atabilirsin

Kod: Tümünü seç

 
procedure TForm1.FormCreate(Sender: TObject);
begin
while not (Query1.Eof) do  //Query adını yaz
    begin
     ComboBox1.Items.Add(Query1.FieldByName('alanadi').AsString);  // alan adının yaz
   Query1.Next;
  end;  
end;
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

mdb için nası bi query.. yazmam gerekir.. doğrusunu söylemek gerekirse veritabanı uygulamalarını anlamaya çalışıyorum.. ms sql server kurdum makineme ama mdb için farklı bir sorgu olsa gerek.. çok teşekkür ederim!!!
<?
print "success";
?>
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

Ado kullanıyorsan adoQuery kullan
bde kullanıyorsan BDE sekmesinde Query sec forma yerlestir
Query string propetry sine tıkla acılan sayfada kullanacagın sorguyu yaz
Query in active özelligini true yap ve baglan

SQL dili için
http://www.delphiturkiye.com/dtsite.zip ve daha bir cok yardımcı ip ucu ve ögrenim klavuzu nu indir

:arrow: :wink: BU Arada Aramıza hosgeldin :lol:
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

abdulkadir tekrardan teşekkür ediyorum sana:) php mysql biliyorum zaten sql komutlarına aşina olduğumu söyleyebilirim şimdiden uraşmaya başladım bile o kadar zor olmasa gerek yinede beceremezsem burada sorarım artık;)...
<?
print "success";
?>
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

elbette yaz
elimden geldikce yardımcı olurum.

mysql biliyorsan tamamdır

bazı özellikler ve farklılıklar haric
hemen hemen tüm veritabanları aynı sorgulama dilini kullanır

Kod: Tümünü seç

SELECT ID, ADI, SOYADI, ADRESI,ONAY
FROM tabloadi
:wink: <? Echo"Basarılar"; ?> :wink:
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

tekrardan selam,
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM users WHERE username = "' + Edit3.text + '"');
ADOQuery1.Open;
ya bu şekilde button u ayarladım filan.. fakat ekrana yazılan birşey yok ADOdataset kullanmam gerekecek sanırım ama bunun kullanımı hakkımda pek bilgim yok.. php mysql de dielim sorgu sonuçlarını mysql_result çekip alabilioduk ve printle ekrana yazıoduk delphide bunu nası yapıcaz aynı sql dili fakat çıkan sonuçlar ADOQuery1.Open; çalıştıktan sonra nası yazılcak ekrana ya da bi değişkene nası atanacak webde baya bi kod araştırdım okudum.. fakat komplike kodlarla karşılaştım hep.. yardımlarınızı bekliyorum!!! tşk
<?
print "success";
?>
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

form uzerine bir DataSource ve bir DbGrid koy
query DataSource a, DataSource u da DbGrid e bagla
ve calıstır.
ÜŞENME,ERTELEME,VAZGEÇME
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

bunları zaten yaptım dbgrid de table listeleniyor ben.. bir değişkene atıp showmessage da göstermek istersem ne yapmam gerekir.. sonuç olarak sorgu sonucunda 5 tane verinin geldiğini düşünsek username password sütunlarım olsun username leri sıralatmak istiyorum mesla 3 üncü kayıt sorgu sonucu gelen 3üncü kayıt .. ,
'SELECT * FROM users where='+edit1.text gibi edit1 de erkekler desem mesla username i erkekler olan adamların şifreleri içinden 2 inci kayıt gibi (password sütununda şifreler) biş...
mysql_result($sorgum, "kayıtsırası", "sütun"); gibi biş bulmak isterdim, ne kadar zormuş delphi :P
<?
print "success";
?>
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Query.Fields[ColumnIndex].Value yada
Query.FieldByName('FieldName').Value seklinde aktif kayda erisebilirsin
birden fazla kayıt varsa ve 2. kaydı istiyorsan

Kod: Tümünü seç

  Query1.First
    while not Query1.eof do
  begin
    if Query1.RecNo = 2 then
      break;
    Query1.Next;
  end;
  ShowMessage(Query1.FieldByName('Erkekler').AsString);
ÜŞENME,ERTELEME,VAZGEÇME
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

ilgilendiğin için saol.. biraz uğraşalım bakalım ;) ...
<?
print "success";
?>
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM users WHERE username = "' + Edit3.text + '"');
ADOQuery1.Open;
--
myvalue:=adoquery1.fieldvalues['kolon adı'];
myvalue i string olarak daha önce tanımlamıştım..
ya bu şekilde değişkeni alabiliyorum fakat şöle bi soru soracağım 5 tane kayıt geldiğini varsayalım yukarıdaki kod çok komplike.. sorguda gelen 5 kayıttan 4üncüsünü istiyorum fakat farklı sütundaki veriyi yani aynı satırdaki farklı sütundaki 4üncü veriyi nası alabilirimki.. webden bi sürü kod inceledim öğrenmeye çalışıyorum.. yardımlarınızı bekliyorum!..
<?
print "success";
?>
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

Vampire yazdı: sorguda gelen 5 kayıttan 4üncüsünü istiyorum fakat farklı sütundaki veriyi yani aynı satırdaki farklı sütundaki 4üncü veriyi nası alabilirimki
Bu bes kayıdn 4.sü standartmı
yani 20 sonuc döndügünde sen yine 4 mü isteyeceksin

Soruyu iyi anlayamadım? biraz detay ver
Asıl amacını yaz neye ne için ihtiyac duyuyorsun
belki farklı fikirler verilir
Vampire
Üye
Mesajlar: 9
Kayıt: 21 Nis 2004 06:45
İletişim:

Mesaj gönderen Vampire »

ewt 4üncü kayıt benim için önemli olsa nası yaparım asıl yapmak istediğim şu.. 20 kayıt gelmiş olsun.. birinci sorum bu yirmi kayıt tek bi string içinde nası tutuluyor 20 satır 20 satırdan 4üncü satır mesela password sütunu olsun username=ogrenci olanları sıralattım sqlden ve password sütunundan 4üncü veriyi almak istiyorum mesela.. yapmak istediğim dbgrid kullanmadan bi döngü yazmak for ($i=0; $i<sorgumdakisatırsayısı; $i++) gibi mesela dielim bu sürekli değişcek ve ben bunu memoda yazdırmak istiyorum mesela.. sorgudaki kaçıncı veri olduğu yazan yere döngüdeki $i i yazmak .. ben aslında dbgridle yapabilirim belki istediğimi ama anlamaya çalışıyorum ben bi string e nası atayacağım istediğim 4üncü satırdaki farklı sütundaki veriyi ... umarım öğrenmek istediğim şeyi anlatabilmişimdir:)
<?
print "success";
?>
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

bir dataset içindeki verilerin nasıl bir yapıda oldugunu mantığında bir yanlış analama var gibime geldi... Soyle izah edeyim: Bir dataset te x tane kayıt olsun mesela 20 diyelim orneginizde oldugu gibi... Bu arada dataset'ten kastım. TTable, TQuery,AdoTable, AdoQuery ve bilimum databse'den bilgi okuyan componentler demek istiyorum..

Dataset'i open metotu ile actiginiz anda o dataset'in ilk kayıdı uzerindesinizdir. Alan isimleri yardimi ile o satırdaki butun bilgilere ulasabilirsiniz. Ama sadece 1. satırdaki bilgilere... Nasıl mı?

Kod: Tümünü seç

Table1.FieldByName('OGRENCI_ADI').AsString;
Table1.FieldByName('OGRENCI_ADI').Value;
Table1OGRENCI_ADI.AsString;
Table1OGRENCI_ADI.Value;
Bunların hepsi OGRENCI_ADI isimli alanın degerini size veriri. Bu degeri siz ister bir yere atayin isterseniz ekranda gosterin vs.... Bu sekilde alan isimlerini kullanarak ilk kayıttaki butun alanlara ulasabilirsiniz...
Sonra 2. kayıttaki alanları alabilmek icin once

Kod: Tümünü seç

Table1.Next;
komutunu vermeniz gerekir. Boylece artık 2. kaydın ustundesiniz... ilk kayıttayken yaptıgınız herseyi bu sefer 2. kayıtta yapabilirsiniz....

Boylece bir dongu ile bunları alabilecegimizi hissediyoruz...O da su:

Kod: Tümünü seç

Table1.Open;
Table1.First;//ilk kayıda giderek işi garantiye alıyoruz.  :wink: 
LISTE:='';//Ogrenci isimlerini toplayacağımız değişkenin içini boşaltalım.
while not Table1.Eof do
begin
  LISTE:=LISTE+Table1.FieldByName('OGRENCI_ADI').AsString+',  ';  
  Table1.Next;
end;
Table1.Close;//isimiz bitti kullanmayacaksak kapatiyoruz. Kullanma ihtimali varsa acik kalsın...
Showmessage(LISTE);
LISTE değişkeninin sonunda kırpılması gereken bir virgul kaldı ama neyse kalsın şimdilik... :D
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla