AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RecordCount an Varibale übergeben

Ein Thema von arcon · begonnen am 2. Sep 2010 · letzter Beitrag vom 2. Sep 2010
Antwort Antwort
Seite 1 von 2  1 2      
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#1

RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 11:57
Hallo miteinander,

warum ist es nicht möglich .. die Anzahl eines Datasets durch RecordCount an eine Variable zu übergeben ?

Ich mach das folgendermaßen .. anzahl := Dataset.RecordCount

aber leider bringt es mir nicht den gewünschten erfolg...

was mache ich falsch ?

danke für eure antworten !
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:00
-Wo ist die Variable deklariert?
-Was für ein DataSet?

Btw. Falscher Bereich ( Geht doch um Datenbanken)
Markus Kinzler
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#3

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:04
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);

var
  ConnString : String;
  Connection : TADOConnection;
  DataSet : TADODataSet;
  SQL : String;
  Val : OleVariant;
  Parameter : String;
  Value : String;
  Counter : Integer;
begin

  try
    Connection := TADOConnection.Create(Self);
    DataSet := TADODataSet.Create(Self);
    try
      ConnString := 'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=..............;Data Source=............;


Connection.ConnectionString := ConnString;
try
Connection.Open;

SQL :=
'Select * from parameter_changes_Monitoring_Parameter_Values order by Parameter';
connection.Execute(SQL);


DataSet.Connection := Connection;
DataSet.CommandType := cmdText;
DataSet.CommandText := SQL;

DataSet.Open;
try

begin

while (DataSet.Recordset.EOF = False ) do
begin
Counter:= Dataset.Recordcount;
Val := DataSet.RecordSet.Fields[
'Parameter'].Value;
DataSet.Next
end;



end

except
// on E : Exception do
// SetError(...................);
end;

except
// on E : Exception do
// SetError(Error_Open_Database, E.Message);
end;

finally
try
if DataSet.Active then
DataSet.Close;

if Connection.Connected then
Connection.Close;

FreeAndNil(DataSet);

FreeAndNil(Connection);


except
// on E : Exception do
// SetError(Error_Closing_Database, E.Message);
end;
end;

except
// on E : Exception do
// SetError(Error_Creating_ADO_Objects, E.Message);
end;
end;


end.

ob der auszug sinn ergibt .. ist erstmal dahin gestellt .. hier geht es erstmal nur um das problem, dass die variable counter nicht den wert von recordcount annimmt..

Delphi-Quellcode:
  while (DataSet.Recordset.EOF = False ) do
                begin
                  Counter:= Dataset.Recordcount;
                  Val := DataSet.RecordSet.Fields['Parameter'].Value;
                  DataSet.Next
                end;

Geändert von mkinzler ( 2. Sep 2010 um 12:58 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#4

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:10
OK, der Bereich geht noch (unpassend, aber nicht komplett falsch).

Zitat:
aber leider bringt es mir nicht den gewünschten erfolg...
Was passiert, bzw. passiert denn nicht?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:13
Ich denke mal, da das Ding in der Schleife ist, ist es eher RecordNo was du suchst (oder RecNo).

RecordCount > Anzahl der gefundenen Datensätze
RecNo > Aktueller Datensatz in der gefundenen Liste.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:14
Hallo,

RecordCount liefert die Anzahl der gelesenen Datensätze,
nicht Anzahl aller Records.

Die BDE hat das damals allerdings auch anders "implementiert".

Der richtige Weg ist eine zusätzliche Abfrage
Select Count(*)


Heiko
Heiko

Geändert von hoika ( 2. Sep 2010 um 12:30 Uhr)
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#7

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:17
ich lass das programm laufen .. und es passiert alles, was ich mich mir gewünscht habe .. bis auf die übernahme der anzahl von recordcount an counter ...

kann das problem daran liegen, dass ich zwar die anzahl übergebe, aber nichts mehr mit counter mache .. und er das deswegen weglässt ?

ich les die datensätze mit dem sql befehl aus .. und möchte nun die ANZAHL der datensätze an Counter übergeben .. damit ich im nachhinein ein array aufbauen kann, wo ich die einträge aus dem dataset einlesen kann .. das array ist deswegen nötig, da ich dieses array mit einem anderen array vergleichen will .. und bei einer änderung etwas passieren soll ...
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:25
Gib doch mal einfach das "Zwischenergebnis" aus:
- OutputDebugStr(IntToStr(Dataset.Recordcount));
- OutputDebugStr(IntToStr(Counter));
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:26
Ich würde es auch vor die Schleife packen und nicht innen drin.
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#10

AW: RecordCount an Varibale übergeben

  Alt 2. Sep 2010, 12:33
vielleicht hilft es ja auch noch, dass der mir, wenn ich das programm durchlaufe .. und ich mir es anschaue .. dass der compiler dann sagt, dass ich nicht auf die variable counter zugreifen kann( wegen optimierung-Fehler E2171)

hilft das weiter ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.
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