Kezdőoldal » Számítástechnika » Programozás » Delphiben programozok. Az sql...

Lilagyula kérdése:

Delphiben programozok. Az sql query (TStrings) -ben van egy ilyen kódom. Azt szeretném ha a '03/03/1015' helyébe az auktuális dátum + 2 nap lépne. Milyen megoldás van erre?

Figyelt kérdés
SELECT SZAMLAK. "KOD", PARTNEREK. "Név", SZAMLAK. "HATÁRIDŐ" FROM "SZAMLAK. DBF" SZAMLAK, "PARTNEREK. DB" PARTNEREK WHERE ( SZAMLAK. KOD = PARTNEREK. KOD ) AND HATÁRIDŐ > '03/03/2015'

2015. márc. 30. 18:36
1 2 3
 11/21 A kérdező kommentje:

'''+twoday+''''


amikor aktiválni akarom a táblát hibát jelez:

Invalid field name: twoday

2015. márc. 31. 08:49
 12/21 coopper ***** válasza:

Szia.


Én igy csinálnám :


Ha unitba rakod akkor, először a twoday-t mint string változót, deklarálni kell valahol (pl. a procedure vagy függvény elején) :


Var twoday : string ;


Aztán pediglen a procedure vagy függvényben a következőket kell elvégezni :


Begin

.

.

.


twoday:=FormatDatetime ('dd.mm.yyyy',Now+2);

Query1.Active:=False;

Query1.Sql:='SELECT SZAMLAK. "KOD", PARTNEREK. "Név", SZAMLAK. "HATÁRIDŐ" FROM "SZAMLAK. DBF" SZAMLAK, "PARTNEREK. DB" PARTNEREK WHERE ( SZAMLAK. KOD = PARTNEREK. KOD ) AND HATÁRIDŐ > '+chr (39)+twoday+chr (39);

Query1.Active:=True;


.

.

.

End ;



Sok sikert.

üdv.

2015. márc. 31. 11:30
Hasznos számodra ez a válasz?
 13/21 anonim ***** válasza:

#1 vagyok


Szerintem mindössze ennyi a feladat:

ezAzAStringAmibenAQuerydVan := '... DATE_ADD(NOW(), INTERVAL 2 DAYS) ...';

2015. márc. 31. 11:31
Hasznos számodra ez a válasz?
 14/21 A kérdező kommentje:
Ezt kifejtenéd egy kicsit bővebben. Kezdőként nem nagyon értem.
2015. márc. 31. 21:23
 15/21 A kérdező kommentje:

unit gyakorol2;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, DBTables, Grids, DBGrids;


type

Tfrmgyak = class(TForm)

DBGrid1: TDBGrid;

Query1: TQuery;

DataSource1: TDataSource;

procedure DataSource1DataChange(Sender: TObject; Field: TField);

private

{ Private declarations }

public

{ Public declarations }

end;


var

frmgyak: Tfrmgyak;

twoday : string ;


implementation


{$R *.dfm}


procedure Tfrmgyak.DataSource1DataChange(Sender: TObject; Field: TField);

begin

twoday:=FormatDatetime ('dd.mm.yyyy',Now+2);

Query1.Active:=False;

Query1.Sql:='SELECT SZAMLAK. "KOD", PARTNEREK. "Név", SZAMLAK. "HATÁRIDŐ" FROM "SZAMLAK. DBF"

SZAMLAK, "PARTNEREK. DB" PARTNEREK WHERE (SZAMLAK.KOD = PARTNEREK.KOD)

AND HATÁRIDŐ > '+twoday+';

Query1.Active:=True;

end;


end.


Így néz ki az egész de nem működik sajnos.

2015. márc. 31. 21:34
 16/21 A kérdező kommentje:
Esetleg mit kellene írnom az object inspector SQL (TString)-jébe hogy működjön?
2015. márc. 31. 21:42
 17/21 anonim ***** válasza:

#1,#13 vagyok


Légyszíves próbáld ki:


Query1.Sql:='SELECT SZAMLAK. "KOD", PARTNEREK. "Név", SZAMLAK. "HATÁRIDŐ" FROM "SZAMLAK. DBF" SZAMLAK, "PARTNEREK. DB" PARTNEREK WHERE (SZAMLAK.KOD = PARTNEREK.KOD) AND HATÁRIDŐ > DATE_ADD(NOW(), INTERVAL 2 DAYS);';


Illetve engedd meg, hogy javasoljam, hogy amíg ilyeneket írsz:

...'+twoday+';

és nem látod rajta, hogy szintaktikai hibás, addig ne játssz query-kkel, adatbázissal, hanem térj vissza a rajtkockára, és tanuld meg a Delphi szintaktikáját, illetve hogy hogyan kell String-eket konkatenálni. Az alapok hiányoznak, de már a tetőt építed, ez nem a helyes sorrend. Mindezt a legjobb szándékkal írom.

2015. márc. 31. 22:32
Hasznos számodra ez a válasz?
 18/21 A kérdező kommentje:

Elnézést, hogy értetlenkedem, de ez ha sikerül biztos hogy jól meg fogom jegyezni. Most egy az egyben a tiédet szúrtam be, de futtatáskor ezt a hibát írja:


[Error] gyakorol2.pas(33): Incompatible types: 'TStrings' and 'String'

2015. ápr. 1. 06:32
 19/21 SimkoL ***** válasza:
Query1.SQL.Add('SELECT SZAMLAK. "KOD", PARTNEREK. "Név", SZAMLAK. "HATÁRIDŐ" FROM "SZAMLAK. DBF" SZAMLAK, "PARTNEREK. DB" PARTNEREK WHERE (SZAMLAK.KOD = PARTNEREK.KOD) AND HATÁRIDŐ > DATE_ADD(NOW(), INTERVAL 2 DAYS);');
2015. ápr. 1. 08:58
Hasznos számodra ez a válasz?
 20/21 A kérdező kommentje:

SimkoL


beillesztettem a unitba amit küldtél. De amikor a táblát aktiválni akarom akkor ezt a hibát írja: Query1: No SQL statement aviable. Mit írjak az object inspector SQL (Tstrings) mezejébe?

2015. ápr. 1. 12:10
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!