Summe errechnen mit Cheetah-Database?

Anfängerfragen zum Programmieren mit PureBasic.
Marco
Beiträge: 11
Registriert: 25.10.2004 13:53
Wohnort: Bergisch Gladbach

Summe errechnen mit Cheetah-Database?

Beitrag von Marco »

Wer kennt sich mit „Cheetah“ aus?

Komme einfach nicht weiter :cry:

Möchte die Summe errechnen lassen.

http://www.planetsquires.com/cheetah.htm

Code: Alles auswählen

IncludeFile "Cheetah2.pbi"

xdbUseDLL()

FileName.s = "SumTest.dbf"
Global hdb

FieldArray.s = "ID, N, 6, 0;"
FieldArray.s + "TEXT, C, 20, 0;"
FieldArray.s + "ZAHL, N, 10, 2;"
FieldArray.s + "PREIS, N, 10, 2;"

xdbCreate(FileName, FieldArray.s)

hdb.l = xdbOpen(FileName, "")

For z=1 To 10
     xdbClearBuffer(hdb)
     xdbAssignField(hdb,"",1, Str(z))
     xdbAssignField(hdb,"",2, "Demo"+Str(z))
     xdbAssignField(hdb,"",3, Str(Random(10000)))
     xdbAssignField(hdb,"",4, Str(Random(100))+"."+Str(Random(99)))
     xdbAppendRecord(hdb)
Next

Debug "Anzhal Records : "+Str(xdbRecordCount(hdb))

xdbMoveFirst(hdb, 0)

query1 = xdbCreateQuery(hdb) 
xdbQueryCondition(query1, 0, "PREIS", #LESS_THAN, "1000", "") 
xdbQueryCondition(query1, 0, "PREIS", 9, "", "") 
xdbQueryExecute(query1)
xdbMoveFirst(query1, 0)

Debug  xdbQuerySUM(query1, "PREIS") 

Repeat
   Debug xdbFieldValue(query1, "", 3)+" - "+xdbFieldValue(query1, "", 4)
   xdbMoveNext(query1, 0)
Until xdbEOF(query1)

xdbClose(hdb)
xdbFreeDLL()
End

-----------
codetags gesetzt [bobobo]
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

gibts da nicht auch #SUM ??
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Marco
Beiträge: 11
Registriert: 25.10.2004 13:53
Wohnort: Bergisch Gladbach

Beitrag von Marco »

Danke aber
#SUM = 9
ist als feste für xdbQueryCondition(query1, 0, "PREIS",#SUM, "", "") hinterlegt :cry:
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

und ? ergibt das denn nicht irgendwie die Summe der Preise ?
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Marco
Beiträge: 11
Registriert: 25.10.2004 13:53
Wohnort: Bergisch Gladbach

Beitrag von Marco »

Nöööö :cry:

Code: Alles auswählen

code]
query1 = xdbCreateQuery(hdb) 
xdbQueryCondition(query1, 0, "PREIS", #LESS_THAN, "1000", "") 
xdbQueryCondition(query1, 0, "PREIS", #SUM, "", "") 
xdbQueryExecute(query1)

Debug  xdbQuerySUM(query1, "PREIS") 
Debug #SUM
xdbQuerySUM(query1, "PREIS") =0
#SUM = 9

Auch der Code aus dem Cheetah Forum funzt nicht´ :cry:

Code: Alles auswählen

query1& = xdbCreateQuery&(DBFhandle) 
Call xdbQueryCondition(query1&, 0, "km", NOT_EQUAL_TO&, "-1", "") 
Call xdbQueryCondition(query1&, 0, "km", SUM&, "", "") 
Call xdbQueryExecute(query1&) 

kilometers = xdbQuerySUM#(query1&, "km") 
http://www.planetsquires.com/forums/vie ... hlight=sum
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Marco hat geschrieben::cry:
dann benutze doch 'n anständiges System: SQLite

PB-Code ist im Board massig vorhanden.

Grüße ... Kiffi
a²+b²=mc²
Marco
Beiträge: 11
Registriert: 25.10.2004 13:53
Wohnort: Bergisch Gladbach

Beitrag von Marco »

Code: Alles auswählen

XIncludeFile "SQLite3_Include.pbi" 

If SQLiteInit("sqlite3.dll") = 0 
  MessageRequester("Fehler", "SQLite.dll fehlt !!") : End 
EndIf 

DB = SQLiteOpen("test.db") 
If DB = #False 
  MessageRequester("Fehler", SQliteErrorMsg(DB)) : End 
EndIf 

If SQliteExecute(DB, "CREATE TABLE Test_Table (Nummer, Preis, Menge)") = #False 
  Debug SQliteErrorMsg(DB) 
Else 
  For r = 1 To 5 
    If SQliteExecute(DB, "INSERT INTO Test_Table (Nummer, Preis, Menge) VALUES ('" + Str(Random(10)+1) + "', '" + Str(Random(10)+1) + "', '" + Str(Random(10)) + "')") = #False 
      Debug SQliteErrorMsg(DB) 
    EndIf 
  Next 
EndIf 


Table.SQ3_TABLEMAP 
SQliteGetTable(DB, "SELECT * FROM Test_Table", Table) 
If Table 
  While SQLiteNextRow(Table) 
    i + 1 
    Debug "Zeile " + Str(i) + ":" 
    While SQLiteNextCol(Table) 
      Debug SQLiteValue(Table) 
    Wend 
  Wend 
  SQliteFreeTable(Table) 
EndIf 

SQLiteClose(DB) 
SQLiteEnd() 
und jetzt ?
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Marco hat geschrieben:und jetzt ?
Du möchtest die Summer der Preise haben, korrekt?

Code: Alles auswählen

SQLiteGetTable(DB, "SELECT Sum(Preis) As Summe FROM Test_Table", Table)
Grüße ... Kiffi
a²+b²=mc²
Marco
Beiträge: 11
Registriert: 25.10.2004 13:53
Wohnort: Bergisch Gladbach

Beitrag von Marco »

:D Überzeugt :D
Danke
Antworten