r9
Nybegynder
13. februar 2003 - 19:31
Der er
9 kommentarer og 1 løsning
TSQLConnection & TSQLQuery
Jeg bruger TSQLConnection & TSQLQuery fra dbExpress, og vil gerne udføre nogle sql-statments. Hvordan får jeg udført denne simple kode? sql := 'select * from kunde'; SQLQuery.SQL.Clear; SQLQuery.SQL.Add(sql); Og hvordan bruger man PrepareStatement?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
13. februar 2003 - 19:42
#1
sqlquery.open Hvis du vil inserte,delte,update er der sqlqyery.execsql Stoney
13. februar 2003 - 19:42
#2
der = det Stoney
r9
Nybegynder
13. februar 2003 - 19:49
#3
hmm. Dette virker ikke: SQLQuery.Open; sql := 'select * from kunde'; SQLQuery.SQL.Clear; SQLQuery.SQL.Add(sql); SQLQuery.ExecSQL(true); while not SQLQuery.Eof do begin res := SQLQuery.FindField('ID'); ShowMessage(res.AsString); SQLQuery.Next; end; Det bliver kastet en "missing query"....
13. februar 2003 - 20:15
#4
with sqlquery do begin with SQL do begin Clear; Add('SELECT * from kunde'); end; Open; end; Stoney
r9
Nybegynder
13. februar 2003 - 21:03
#5
Hvorfor skal "Open" kaldes efter ExecSQL?
13. februar 2003 - 21:18
#6
Det har jeg heller ikke sagt. ExecSQL bruges ved insert,delete,update. Altså kommandoer der IKKE returnere et recordset. Open bruges ved select. Stoney
r9
Nybegynder
13. februar 2003 - 21:25
#7
Ok, nu er jeg med. Kan der ikke lade sig gøre at lave en database klasse uden at man smider TSQLConnection og TSQLQuery på en form? F.eks: unit Database; interface uses DBXpress, SqlExpr; type TDatabase = class //database klasse private mySQLConnection: TSQLConnection; SQLQuery: TSQLQuery; public function doSelect(SqlStr : String): String; constructor create(); end; implementation constructor TDatabase.create(); begin mySQLConnection.Connected := true; SQLQuery.SQLConnection := mySQLConnection; end; function TDatabase.doSelect(SqlStr : String): String; begin Result := ''; SQLQuery.SQL.Clear; SQLQuery.SQL.Add(SqlStr); SQLQuery.Open; end; end. Når jeg kalder metoden, så får jeg en fejl: EAccessViolation with message 'Access violation at adress.....
r9
Nybegynder
13. februar 2003 - 21:27
#8
Jeg ønsker en unit uden form, som håndterer database adgang.
13. februar 2003 - 22:53
#9
Du kan lave et datamodule File->New->DataModule Stoney
r9
Nybegynder
14. februar 2003 - 11:58
#10
takker
Kurser inden for grundlæggende programmering