Autor Beitrag
Danny W.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 26.10.06 13:56 
Hallo an alle,
Ich habe hier meine MySql DB und meine Abfrage.

Die Tabelle USER enthält mehrere Datensätze.

meine frage ist, wie bekomme ich eine zeile in einen string (bzw. tstrings)?
ich möchte die einzelnen datenfelder dann mit einem Delimiter Splitten.
Den Code dafür habe ich bereits:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button1Click(Sender: TObject);
var
sl : tstrings;
i  : integer;
begin
    memo1.clear;
    sl := TStringList.Create;
    sl.Delimiter := ' '//Splitter
    sl.DelimitedText := edit1.text; //Soll durch einen MySQL Query ersetzt werden!
    edit2.text:=inttostr(sl.count);


  for i := 0 to sl.count-1 do
    memo1.lines.add(sl.strings[i]);

end;


Ich möchte jetzt pro 'sl' Variable, eine komplette zeile aus der datenbank bekommen!
Der Query an sich ist auch kein Problem. Allerdings weiß ich nicht wie und wo ich die Abfrage eingeben und ausgeben lassen soll.

mfG,
Mantis
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 26.10.06 14:21 
ausblenden Delphi-Quelltext
1:
s1.DelimitedText:=Query.FieldByName('DBFeld').AsString;					


so?

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Danny W. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 26.10.06 14:24 
user profile iconXion hat folgendes geschrieben:
ausblenden Delphi-Quelltext
1:
s1.DelimitedText:=Query.FieldByName('DBFeld').AsString;					


so?




ich würde das gerne testen, aber ich werde daraus leider nicht schlau ^^ ist der query eine funktion aus einer bestimmten komponente? was muss genau muss in das ('DBFeld')?

/EDIT
btw. Ich benutze Delphi 2005 PE mit Direct SQL :)

mfG
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 26.10.06 14:36 
öööh, ich kenn mich eingentlich nur mit BDE aus, aber:

Query ist ne Komponente, da steht der SQL-Code und wenn ich sage Query.ExecSQL oder Query.Open dann hab ich das Ergebnis da drin. Das kann ich per Query.FieldByName('DBFeld').AsString auslesen. Dann Query.Next => nächster Eintrag. 'DBFeld' steht hier für das Feld, also wenn du z.B. ne Tabelle mit Name, Vorname, Wohnort hast dann wäre z.B. Query.FieldByName('Name').AsString ne Möglichkeit...dachte du meinst so ein Query: (
user profile iconMantis1987 hat folgendes geschrieben:

sl.DelimitedText := edit1.text; //Soll durch einen MySQL Queryersetzt werden!
)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Danny W. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 26.10.06 14:57 
tut mir leid, da hab ich mich ein wohl ein wenig unklar (doof^^) ausgedrückt :)

ich wollte damit eine abfrage starten die mir z.B. so etwas ausspuckt!

Mantis 28.07.1987 dannywitting@aol.com 208332033 blabla

(name, geb. datum, email, icq, motto oder so)

diesen string wollte ich dann einfügen, um ihn anschließend zu trennen :)

mfG
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 26.10.06 15:05 
ääääh...

wie machst denn du die Abfrage? Hast du keine Query-Komponente?

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Danny W. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 26.10.06 15:21 
doch doch ^^

ich hab das problem jetzt auch schon gelöst :)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, directmysql4x;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit2: TEdit;
    Memo1: TMemo;
    label1: TLabel;
    Memo2: TMemo;
    Button2: TButton;
    db1: Tdirectmysql;
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
sl : tstrings;
i  : integer;
begin
    memo1.clear;
    sl := TStringList.Create;
    sl.Delimiter := ','//Splitter
    sl.DelimitedText := memo2.text; //der zu splittende text
    edit2.text:=inttostr(sl.count);
   
  for i := 0 to sl.count-1 do
    memo1.lines.add(sl.strings[i]);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.clear;
memo2.clear;
end;

procedure TForm1.Button2Click(Sender: TObject);
var s:string;
befehl: string;
ts : tstrings;
begin
 if db1.Connect2MysqlDB('localhost','root','','bla',3306,s) then
 begin

  befehl:='SELECT `news`.`ueberschrift`, `news`.`text` FROM `news`';
  ts:=tstringlist.Create;
  db1.sendcmd(befehl,true,ts);
  memo2.lines.Assign(ts);
  ts.free;

 db1.DisConnectMysqlDB(s);
 end;
end;

end.


danke für die hilfe :)
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 26.10.06 15:25 
hmmm, ok, das ist wohl doch komplett anders als BDE ;)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
gsmgrufti
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22


Delphi 7 Prof, BDS2006 rof
BeitragVerfasst: Do 26.10.06 18:57 
wo möchtest du eigentlich weitermachen ?
hier oder dort:
www.delphi-forum.de/...dcp+fehlt_65850.html
Danny W. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Do 26.10.06 20:51 
ernstgemeinte frage: Beides beantwortet!
nicht ernstgemeinte frage: Sind versch. themen! les dir das nochmal durch...das andere ist nur spezieller...dieses hier hab ich im nachhinein geöffnet, wo mir schon die wichtigsten sachen beantwortet wurden :|

mfG
gsmgrufti
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 22


Delphi 7 Prof, BDS2006 rof
BeitragVerfasst: Do 26.10.06 21:56 
Na ja,
solltest nun beide Threads beenden und bei Datenbanken weitermachen :wink:
Danny W. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 296

Windows XP, WIN 2000
Delphi 2005 PE
BeitragVerfasst: Fr 27.10.06 09:22 
stimmt..die threads waren wirklich fast identisch...ich hab das halt nur damit gerechtfertigt, weil ich bei dem anderen halt schon weiter war und es spezieller wurde, entschuldigung dafür :oops:

Ich hab auf den anderen Thread leider bloß keinen 'Zugriff' mehr, weil das halt der account von meinem kumpel ist :( werde den thread aber melden, wahrscheinlich haben die mods da ja noch möglichkeiten :)


mfG,
Mantis