Hoi,
Ik heb een stukje code gemaakt die een query stuurt naar een MSSQL database. De database zou vervolgens een waarde terug moeten geven aan het ADO component die ik vervolgens op het scherm kan weergeven met behulp van een ADOTable. De query bouw ik op met behulp van een ADOQuery.
De SQL query maak ik dynamisch aan en klopt want deze heb ik heb ik met behulp van een watch gevangen. De SQL code heb ik vervolgens op de database server getest en geeft de waarde gewoon terug.
Een voorbeeld van de SQL is bijvoorbeeld:
Hieronder zal ik het stukje code plaatsen wat niet helemaal goed gaat.
Wat ik ook geprobeerd heb is om een ADOCommand te gebruiken, maar daar gebeurd precies hetzelfde mee.
De tabel bestaat uit meerdere colommen. De SQL code geeft 1 colom met 1 waarde terug. Ik wil dus dat in de ADOTable alleen die colom (totaal) met de waarde die ik in de SQL code laat optellen.
Hoe los ik dit op?
Mocht er behoefte zijn aan meer informatie wil ik deze natuurlijk graag posten.
Ik heb een stukje code gemaakt die een query stuurt naar een MSSQL database. De database zou vervolgens een waarde terug moeten geven aan het ADO component die ik vervolgens op het scherm kan weergeven met behulp van een ADOTable. De query bouw ik op met behulp van een ADOQuery.
De SQL query maak ik dynamisch aan en klopt want deze heb ik heb ik met behulp van een watch gevangen. De SQL code heb ik vervolgens op de database server getest en geeft de waarde gewoon terug.
Een voorbeeld van de SQL is bijvoorbeeld:
SQL:
1
| SELECT SUM(tijdsduur) AS tijd FROM service WHERE (datum LIKE '%%%%-%%-%%') |
Hieronder zal ik het stukje code plaatsen wat niet helemaal goed gaat.
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| ADOQuery1.ConnectionString := ADOTable2.ConnectionString; with ADOQuery1 do begin SQL.Clear; SQL.Text := 'SELECT SUM(tijdsduur) AS totaal ' + 'FROM ' + Trim( DBLookupComboBox_Tabel.Text ) + ' ' + 'WHERE (datum LIKE ' + '''%%%%-%%-%%''' + ')'; try ExecSQL; ADOTable2.Close; ADOTable2.Open; ADOTable2.Insert; except on e:Exception do ShowMessage( 'Het zoeken ging niet goed.' ); end; end; |
Wat ik ook geprobeerd heb is om een ADOCommand te gebruiken, maar daar gebeurd precies hetzelfde mee.
De tabel bestaat uit meerdere colommen. De SQL code geeft 1 colom met 1 waarde terug. Ik wil dus dat in de ADOTable alleen die colom (totaal) met de waarde die ik in de SQL code laat optellen.
Hoe los ik dit op?
Mocht er behoefte zijn aan meer informatie wil ik deze natuurlijk graag posten.