Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MS SQL (https://www.delphipraxis.net/141404-ms-sql.html)

ec8or 8. Okt 2009 12:58

Datenbank: Microsoft SQL-Server • Version: 2005 • Zugriff über: ADO

MS SQL
 
Kurz zu mir:
Ich bin Fachinformatik FR Anwendugnsentwicklung - Azubi und nun grad im 2ten Lehrjahr angekommen. Mit Delphi hab ich schon einiges gemacht.

Verwendete Software:
Borland Developer Studio 2006

Ich möchte/soll eine Anwendung in Delphi realisieren die Contrains auslesen, löschen und neue erstellen kann.

Ich tue mich jedoch schwer was kommunikation mit SQL-Servern aus Delphi heraus angeht.

Eine Verbindung bekomme ich via TADOConnection zu stande, nur wie kann ich jetzt Querys schicken, bzw wie kann ich auf das result zugreifen?
Ich bin echt etwas aufgeschmissen muss ich zu geben. :?

Ich hoffe jemand kann mir einen Tip geben oder mir etwas Beispiel-Code zeigen. :gruebel:

hoika 8. Okt 2009 13:01

Re: MS SQL
 
Hallo,

TAdoQuery nehmen, oder TAdoDataSet.

Die Google-Suche sollte eine Menge finden.

Constraints sind Metadata, suche mal dazu in Google.

Ein Bsp. zu Constraints z.B. hier

1


Heiko

ec8or 8. Okt 2009 13:13

Re: MS SQL
 
Danke für deien Antwort!

Was ist der Unterschied zwischen Query und DataSet?

Mit Query scheint mehr möglich zu seine (sprich auch Delete, Insert usw.). Deshalb würd ich mich für Query entscheiden. Nur wie komm ich nun an das Result?

contrains kann man doch mit
SQL-Code:
select * from sysobjects
abrufen?!

generic 8. Okt 2009 13:14

Re: MS SQL
 
Die Beispiele in den Link zeigen direkten Zugriff auf die internen Strukturen des SQL Server.

Das ist eines der DONT's !

Für den Zugriff auf die Meta-Daten gibt es Stored Procedures!
Diese wurde bis jetzt auch immer kompatibel gehalten, zwischen den verschieden Servern.

ec8or 8. Okt 2009 13:32

Re: MS SQL
 
Wo ist nun das result? Entschuldigt bitte falls ich mich blöd anstelle, aber jeder fängt mal an und manchmal da kanns noch so einfach sein, man kommt aber nicht drauf...

dbCon: TADOConnection;
ADOQuery: TADOQuery;
Delphi-Quellcode:
  dbCon.ConnectionString := ('Provider=SQLOLEDB.1;'+
                             'Data Source='+EdtServer.Text+';'+
                             'Catalog='+EdtAlias.Text+';'+
                             'User Id='+EdtUser.Text+';'+
                             'Password='+EdtPass.Text+';');
  ShowMessage(dbCon.ConnectionString);
  dbCon.Open;

  ADOQuery.SQL.Text := 'select * from sysobjects';
  ADOQuery.ExecSQL;
  ADOQuery.Open;

DeddyH 8. Okt 2009 13:43

Re: MS SQL
 
Delphi-Quellcode:
ADOQuery.SQL.Text := 'select * from sysobjects';
  //ADOQuery.ExecSQL; ExecSQL nur bei DML/DDL
  ADOQuery.Open;
  while not ADOQuery.EOF do
    begin
      ShowMessage(ADOQuery.Fields[0].AsString); //oder so ähnlich
      ADOQuery.Next;
    end;

hoika 8. Okt 2009 16:29

Re: MS SQL
 
Hallo,

Zitat:

Das ist eines der DONT's !
Dann sag doch mal, wie die heissen ?

DataSet / Query

Query ist aus Kompatibilität dabei.
Einem DataSet kann ich Insert/Update/Delete auf einmal zuweisen
und es dann z.B. auf ein DataGrid loslassen,
ohne eine weitere Zeile zu tippern (zumindestens in der Theorie).


Ich bin aber Nostalgiker -> Query-Liebhaber ;)


Heiko

generic 8. Okt 2009 16:45

Re: MS SQL
 
Ich gerade die Books nicht am Start aber du kannst in dem Dunstkeisen von "sp_pkeys" und "sp_fkeys" suchen.

ec8or 9. Okt 2009 07:05

Re: MS SQL
 
Ok, ich verwende auch die Query, nur weiß ich nun nich wie ich das in eine tabelle bekomme.
Das will ich ja im prinzip auch garnicht machen, nur halt mal test weise um zu schauen obs klappt.

hoika 9. Okt 2009 07:20

Re: MS SQL
 
Hallo,

Zitat:

nur weiß ich nun nich wie ich das in eine tabelle bekomme.
drücke dich doch bitte mal etwas genauer aus ;)

Willst du sowas machen ?

Alter Table X Drop Constraint
Alter Table X Add Constraint

Übrigens gibt es für sowas das Management Studio


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr.
Seite 1 von 2  1 2      

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