Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MSSQL Server (https://www.delphipraxis.net/6429-mssql-server.html)

Luncustaf 10. Jul 2003 14:56


MSSQL Server
 
hi,

also ich hab hier nen MSSQL-Server wo übers intranet drauf zugegriffen werden soll - der connect klappt auch nur - wenn ich dann auf eine tabelle zugreifen will bekomme ich ne fehler meldung das das query open nicht funktioniert hat.

ich benutze ado komponenten. kann mir vielleicht jemand erklärenwie man das genau damit macht? weil ich ansonsten mit mysql datenbanken arbeite aber diesmal ist eine ms sql vorgegeben.

mein connections tring sieht soaus


Code:
alu.datab.ConnectionString := Format('Provider=SQLOLEDB.1;Persist Security Info=False;User ID=%s;Initial Catalog=%s;Data Source=%s',[user.text, edit1.text,host.text]);

au die tabelle will ich zb so zugreifen


Code:
   alu.dataq.Active := false;
    alu.dataq.SQL.Clear;
    alu.dataq.SQL.Add('SELECT OP_TS FROM OPCLD WHERE CAL_ID = "'+UpperCase(Name)+'" AND DATESPEC = "'+dateconvert(DateTimeToStr(Date1))+'"');
    alu.dataq.Active := true;

hoffe ihr könnt mir schnell helfen

Sharky 10. Jul 2003 15:10

Re: MSSQL Server
 
Hai Luncustaf,

hast Du, nachdem Du deinen ConnectionString erzeugt hast denn auch die Verbindung zum SQL-Server geöffent?

Es sieht nämlich so aus als wäare deinen Datenbankschnittstelle überhaupt nicht aktiv. Und dann kann das Query natürlich auch nicht daruf "zugreifen".

Achja, wenn ich mich recht erinnere möchte der MS-SQL Parameter in einfachen ' (Hochkomme) eingeschlossen haben und nicht in ".

Alsoe:

SQL-Code:
SELECT * FROM tabelle WHERE name = 'Sharky';
In Delphi wäre das dann:
Delphi-Quellcode:
Query1.Close;
Query1.SQL.Text := 'SELECT * FROM tabelle WHERE name = '
   + QuotedStr ('Sharky');
Query1.Open;

Phoenix 10. Jul 2003 15:11

Re: MSSQL Server
 
Versuch mal das Query (oder die Query?¿?) mit einem Semikolon ";" abzuschliessen. Ab und an braucht MS SQL / MSDE sowas unbedingt und meckert sonst.

Luncustaf 10. Jul 2003 15:33

Re: MSSQL Server
 
hi sharky,

wie meinst du das mit dem aktiv? ich kann die ado connection nicht auf active := true setzen da es diese eigenschaft net hat.

kannst du mir das vllt genauer erklären.

das mitden hochkommata ist egal ob du nun QuotedStr() schreibst oder "" machst kommt aufs gleiche raus.


Phoenix dein text versteh ich nicht ganz wie meinst du das mit dem semikolon?


gr€€tz

Phoenix 10. Jul 2003 15:40

Re: MSSQL Server
 
Dein Query sieht so aus:
Code:
SELECT OP_TS FROM OPCLD WHERE CAL_ID = "value" AND DATESPEC = "value"
Mach einfach ein
Code:
SELECT OP_TS FROM OPCLD WHERE CAL_ID = "value" AND DATESPEC = "value";
draus :)

Sharky 10. Jul 2003 15:42

Re: MSSQL Server
 
Hai Luncusaf,

Zitat:

Zitat von Luncustaf
wie meinst du das mit dem aktiv? ich kann die ado connection nicht auf active := true setzen da es diese eigenschaft net hat.

Seltsam, meine ADO-Connetction hat die Eigenschaft acitve


Zitat:

das mitden hochkommata ist egal ob du nun QuotedStr() schreibst oder "" machst kommt aufs gleiche raus.
Stimmt fast. QuoteStr und '''' ist gleich. Aber QuoteStr ist nicht glei "

Du hast in deinem Query doppelte Anführungszeichen stehen (die auf der Taste 2 sind). MS-SQL forder imho aber das der Text in ' (einzelne Hochkommas) eingeschlossen wird.

Hast Du es denn versucht?

Luncustaf 10. Jul 2003 15:45

Re: MSSQL Server
 
hi,

bringt nichts fehler kommt trotzdem

gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz