Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Name und Tag einer Combox aus DB (https://www.delphipraxis.net/101922-name-und-tag-einer-combox-aus-db.html)

Jack23 20. Okt 2007 13:29

Datenbank: Access • Zugriff über: ADO

Name und Tag einer Combox aus DB
 
Hallo

Ich habe mir jetzt diesen Code zusammengebaut:

Delphi-Quellcode:
type aTag = class(TObject)
end;

implementation
procedure TForm1.ComBoBox(Sender: TObject);
var tmpTag : aTag;
tmpStr:String;
begin
ComboBox.Items.Clear;
ADOQuery.First;
    while not ADOQuery.EOF do begin
      tmpStr := ADOQuery.FieldByName('Test').asString;
      tmpTag := ADOQuery.FieldByName('Testen').asString;
      ComboBox.Items.AddObject( tmpStr,tmpTag);
      ADOQuery.Next;
    end;
end;
Dieser Code fügt in einer ComboBox die Items aus der Spalte Test ein. Und für jedes dieser Items wird auch der dazugehörige Tag aus der Spalte Testen hinzugefügt? Ist das richtig?

Aber es klappt nicht es kommt immer die Meldung:

Inkompatible Typen: 'aTag' und 'string'

Was ist da zu tun?

peterlepan 20. Okt 2007 13:45

Re: Name und Tag einer Combox aus DB
 
Hallo Jack!

Von welchem Datentyp sind denn die zwei Tabellenspalten?
Wenn Du das zweite Feld als AsString ausliest und es einer Variablen vom Typ Object zuweist, gibt es natürlich Probleme.
Für einen Hinweis müsstest Du auf jeden Fall den Feldtyp für die zwei Tabellenfelder nennen.

Peter

Jack23 20. Okt 2007 14:29

Re: Name und Tag einer Combox aus DB
 
In den Beiden Spalten sind sowohl Buchstaben als Zahlen also so:

Spalte1|Spalte2
3 Blätter| 2M Lang, 12 Lampen

So ungefähr.

Jack23 20. Okt 2007 18:28

Re: Name und Tag einer Combox aus DB
 
Keiner eine Idee?

Ich habe nochmal drüber nach gedacht. Vielleicht sollte ich sagen das ich eine Access Datenbank verwende?

Noch eine Frage es ist doch alles ein String egal welche Zahlen und Zeichen da drin sind oder?

Sharky 20. Okt 2007 18:50

Re: Name und Tag einer Combox aus DB
 
Zitat:

Zitat von Jack23
...Ich habe mir jetzt diesen Code zusammengebaut: ...

Hai Jack23,

ich habe den Verdacht das Du den Thread den ich Dir als Beispiel gepostet habe zwar gelesen, aber den Code nicht richtig verstanden hast ;-)

Es geht darum einem Item der TStrings ein Object zuweisen zu können. Dieses Object muss natürlich erst erzeugt werden und dann kann man den "Variabelen" dieses Objektes Werte zuweisen. Eigentlich ist das doch in dem Beispielcode sehr schön zu sehen.

P.S.: Das Pushen von Beiträgen ist in der DP erst nach 24 Stunden erwünscht.

mkinzler 20. Okt 2007 18:52

Re: Name und Tag einer Combox aus DB
 
Wie ich schon in einem anderen Thread von dir zu diesem Thema geschrieben habe würde ich den PK der Tabelle als Tag verwenden. Anscheinend hast du dich bisher immer noch nicht die Grundlagen von Datenypen eingedacht.

Jack23 20. Okt 2007 18:57

Re: Name und Tag einer Combox aus DB
 
@ Sharky

Also meinst du damit ich muss das erst aus der Datenbank holen? Oder was meinst du genau damit?

@mkinzler

Darüber habe ich schon nachgedacht. Vielleicht habe ich auch einen Denkfehler. Aber wenn ich den PK einer Tabelle nähme kann ich mir doch noch immer nicht die richtige Spalte auswählen oder? Ich möchte doch damit rechnen. Also muss ich als Tag die Spalte nehmen die ich später zum rechnen brauche. Dann brauche ich nur noch Tag + Tag + Tag rechnen.

Sharky 20. Okt 2007 21:02

Re: Name und Tag einer Combox aus DB
 
Hai Jack23,

um dein Problem jetzt nicht noch hier zu diskutieren mache ich Dir einen Vorschlag:

Schreibe einmal genau auf (am besten in "Programmieren allgemein") was dein Programm machen soll. Dann können wir Dir sicher auch erklären und zeigen welches die "beste" Herangehensweise an deine Problemlösung ist.
Die grundlegende Arbeit gerade wenn man mit Datenbanken arbeitet ist es sich genau zu überlegen was man erreichen möchte. Daraus bildet man dann eine passende Struktur der Tabellen in der Datenbank. Danach setzt man das ganze ich eine Programmlogik um und zum schluss bastelt man sich eine passende Oberfläche (GUI) für das Programm.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz