Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TADOCommand & TADODataSet (Recordset-Objekt -> TMemo)? (https://www.delphipraxis.net/30351-tadocommand-tadodataset-recordset-objekt-tmemo.html)

Sharky 24. Sep 2004 09:16

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Sorry,
das hatte ich überlesen :wall:

Mit dem ADODataSet und ADOCommand habe ich noch nicht gearbeitet. Ich verwende auch immer Querys für meine Abfragen.

Kedariodakon 24. Sep 2004 09:44

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
passiert :wink:

Naja vielleicht hätte ich auch das alles besser beschreiben sollen was ich will :)

Also mach ich das mal glatt :P


Also solange ja die xpsql70.dll und die xplog70.dll bei der MS SQL datenbank vorhanden sind gibt es z.b. den Befehl xp_cmdshell...
wenn ich jetzt in meinem TADOCommand.CommandText den string xp_cmdshell "dir c:\" übergebe und dann ADODataSet1.Recordset := ADOCommand1.Execute; aufrufe, müßte das, was ja in ner normalen win-CMD als Ausgabe bei dem befehl "dir c:\" kommt im Recordset gespeichert sein, oder sollte es, so wie ich es verstanden hab...


Aber wie bekomm ich das nu in nen TMemo rein?

Das der Befehl ausgeführt wird weiß ich, da beim Befehl: xp_cmdshell "echo Esgeht >> C:\esGeht.txt" diese EsGeht.txt ja auch angelegt wird...


Kann mir da wer helfen?

MFG Keda

mikhal 24. Sep 2004 09:44

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
In deinem CommandText sollte doch eine SQL-Anweisung stehen. Mach uns doch mal schlau: sende uns deinen CommandText, damit wir dir weiterhelfen können.

Im übrigen solltest du dich mal grundsätzlich mit der Datenbankprogrammierung auseinandersetzen. Bei Delphi-Source findest du einen Einstieg in die Materie, arbeite die Tutorials mal durch, dann sollten die größten Probleme beseitigt sein.

Grüße
Mikhal

Kedariodakon 24. Sep 2004 09:46

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Zitat:

Zitat von mikhal
In deinem CommandText sollte doch eine SQL-Anweisung stehen. Mach uns doch mal schlau: sende uns deinen CommandText, damit wir dir weiterhelfen können.

Im übrigen solltest du dich mal grundsätzlich mit der Datenbankprogrammierung auseinandersetzen. Bei Delphi-Source findest du einen Einstieg in die Materie, arbeite die Tutorials mal durch, dann sollten die größten Probleme beseitigt sein.

Grüße
Mikhal

Das kommt ja noch :)
Vorher habe ich abe diese Aufgabe zu lösen :?

Nur das Problem hier an sich, hat ja noch nicht wirklich was mit Datenbank-Programierung zu tun, aber irgend wie ja doch, da das ja per Datenbank pssiert...




MFG Keda

mikhal 24. Sep 2004 09:48

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Da warst du schneller...

Aber warum willst du einen DOS-Befehl über die Shell des SQL-Servers in einem Memo-Feld darstellen...

Grüße
Mikhal

Kedariodakon 24. Sep 2004 09:50

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Weils meine Aufgabe ist das zu realisieren... :wall:

Warum ich die bekomme? ka vieleicht um zu lernen, dass man bei falscher konfiguration von SQL-Servern Sehr große Sicherheitslöcher hat?
Ka da fragst mich zuviel :wink:

MFG Keda

shmia 24. Sep 2004 10:09

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Zitat:

Zitat von Kedariodakon
Habe jetzt so ein TADODataSet Object eingebaut, ADODataSet1.Recordset := ADOCommand1.Execute; eingefühgt, meckert auch net rum, aber wie bekomm ich den Rückgabewert aus der TADODataSet Komponente raus in ein MemoFeld????

Ich empfehle folgendes:
SQL-Befehle ohne Parameter und ohne Rückgabemenge werden am Besten direkt über die Connection ausgeführt:
Delphi-Quellcode:
   ADOConnection1.Execute('DELETE FROM TABLE test');
SQL-Befehle mit Parameter aber ohne Rückgabemenge werden über TADOCommand ausgeführt:
Delphi-Quellcode:
   ADOCommand1.Commandtext := 'UPDATE test SET Status=5 WHERE CustId=:CustId';
   ADOCommand1.Parameters.ParamValues['CustId'] := '4711';
   ADOCommand1.Execute;
Stored Procedures mit Rückgabemenge werden über TADOStoredProc ausgeführt.
Delphi-Quellcode:
   ADOStoredProc1.Open; // Open, da Resultset erwartet wird
   // alle Daten auslesen und als Message anzeigen:
   s := 'Daten:'#13#10;
   while not ADOStoredProc1.Eof do
   begin
      s := s + ADOStoredProc1['Kundennummer']+#13#10;
      ADOStoredProc1.Next;
   end;
   ShowMessage(s);
Views und SELECT-Abfragen werden über TADOQuery abgefragt:
Beispiel schenk ich mir.

Kedariodakon 24. Sep 2004 10:34

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Ich weiß :wink:
Habe schon die ganzen Komponenten studiert...

Aber xp_cmdshell ist keine Stored Procedure sondern ein SQL-Befehl...

Und mit was führe ich nun SQL-Befehle mit Rückgabewert aus? Finde ich nicht in deiner Liste...
Aber soweit ich der Delphi-Hilfe folgen konnte auch mit TADOCommand, so wie ich es ja auch gemacht habe...
Habe das TADOCommand auch mit dem TADODataSet.RecordSet verbunden, damit da irgendwas mit dem Rückgabewert passiert... Nun tut sich da auch was, nur wie bekomm ich den nu raus? Nur das interessiert mich im Moment und das war auch die Frage...

Sry Wenn ich ein bischen knurrig erschein, aber Nicht wirklich irgendein Post konnte mir irgendwie weiterhelfen...
Sie verweisen auf Sachen, die ich gar nicht machen will...
Es ist zwar ne Hilfe für später, aber meine Aufgabe Im Moment ist halt diese...

Vielleicht ist das auch mit ADO - Komponenten nicht zu realisieren, dann steck ich hier in einer Sackgasse...
Aber das hat mir auch noch keiner gesagt...

Nun sitz ich hier schon seit Tagen an dem Problem und dreh mich nur im Kreis und komm allein nicht weiter und das auch noch im Urlaub...
Es läßt mir einfach keine Ruh, dass ich das net hinbekomm :cry:
Ausgeführt bekomm ich es, einen Rückgabewert bekomm ich aber net zu Gesicht, obwohl ich weiß das er da ist... :wall:

MFG Keda

Sharky 24. Sep 2004 10:57

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
Hai Keda,

hast Du dein TADODataSet mit einer TDataSource verbunden?
Ich habe das eben mal getestet und es geht wunderbar. Wenn ich z.B. diesen Befehl ausführe:
Delphi-Quellcode:
  ADOCommand1.CommandText := 'xp_cmdshell "dir *.exe"';
  ADODataSet1.Recordset := ADOCommand1.Execute;
Habe ich anschließen alle Dateien in meinem DBGrid.

Kedariodakon 24. Sep 2004 11:00

Re: TADOCommand & TADODataSet (Recordset-Objekt -> TM
 
nö hab ich net, hab auch ka wie das geht :?

aber wenn das so geht, ist das ja schon mal ein anfang ^^

Mal schaun ob ichs hinbekomm...
vielleicht kannst du genau erklären wie ich das auch hinbekomm ^^

MFG Keda


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 Uhr.
Seite 2 von 4     12 34      

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