![]() |
Datenbank: MSSQL • Version: 12 • Zugriff über: ADO
prüfen ob Datenbank vorhanden ist
ich möchte prüfen ob eine DB auf meinem Server vorhanden ist, nur stimmt mein SQL Statement leider nicht. Wo liegt denn hier der Fehler ???
Delphi-Quellcode:
try
aConnection := TADOConnection.Create(nil); aConnection.Connected := False; aConnection.LoginPrompt := False; .... aLocalQuery := TADOQuery.Create(nil); aLocalQuery.Connection := aConnection; sqlStr := 'select * from master.dbo.sysdatabases where name=' + aDatabaseName ; aLocalQuery.sql.add (sqlStr); aLocalQuery.Open; if aLocalQuery.RecordCount=0 then result := false else result := true; finally aConnection.Free; aLocalQuery.Free; end; Fehlermeldung : Syntaxfehler bei 'aDatabasename' |
AW: prüfen ob Datenbank vorhanden ist
Du brauchst im SQL Hochkommatas bei Strings (wie auch bei Pascal auch).
Und ich hoffe das du kein Edit-Feld zur eingabe anbietest. Dann hättest du ein Problem wenn jemand die Datenbank "'; DROP Database xyz; --" suchen würde ... |
AW: prüfen ob Datenbank vorhanden ist
Du musst noch Hochkommata um den Variablennamen setzen.
Entweder zu Fuß (konkatenierung) oder mittels der Funktion QuotedStr oder am besten den Abfrageparameter explizit als Parameter handhaben. Parameter haben Typen und die wissen dann selbst, wie sie gehandhabt werden müssen. Dazu gibt es bereits jeweils viele Threads hier. Einfach mal Suchfunktion benutzen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz