| 

.NET C# Java Javascript Exception

1
Wie kann ich am einfachsten von Lazarus aus auf einen Microsoft SQL Server zugreifen und per SQL Daten einfügen und abfragen?

bzw. Habe ich bei ODBC die Möglichkeit, SQL-Querys an die Datenbank zu senden?
08.09.2009
Flyingmana 256 2 4
2 Antworten
2
Meine Turbo-Pascal-Zeiten sind schon lange vorbei, aber vielleicht hilft dir folgendes Beispiel weiter:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ADOdb;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
con: TADOConnection;
rs: TADOTable;
var fieldValue: String;
begin
{ Create connect to the CodeBase provider. }
con := TADOConnection.Create(nil);
con.LoginPrompt := False;
con.ConnectionString := 'Provider=CodeBase;Location=c:\examples';
con.Open();

{ Open the STUDENT table. }
rs := TADOTable.Create(nil);
rs.Connection := con;
rs.TableDirect := True;
rs.TableName := 'student';
rs.Open();

{ Go to the first record and display the value of the 2nd field. }
rs.First();
fieldValue := rs.Fields[1].AsString;
Application.MessageBox(PChar(fieldValue), 'Field Value', 0);

{ Clean up. }
rs.Free();
con.Free();
end;

end.


SQLStatements am besten mit:
TADOQuery.SQL.Clear;
TADOQuery.SQL.text := 'SELECT ...';
TADOQuery.open;
08.09.2009
MiW 1,0k 1 8
MiW 1,0k 1 8
Jetzt stampft mich nicht in den Boden, falls das alles Murks ist, hatte nur Mitleid mit Flyingmana, weil bisher keiner auf die Frage geantwortet hat.
MiW 08.09.2009
1
Erst mal danke für dein Mitgefühl^^

Das wäre jetzt das, was ich nicht unbedingt mag, dass man nur über Objekte darauf zugreifen kann.
Bin von PHP zu sehr verwöhnt, immer direkt mit SQL arbeiten zu können.
Flyingmana 08.09.2009
Dann kapsel das ganze doch mit einer funktion, in die du einfach das sql reinschiebst und das dann das recordset zurückgibt.

function runSQL(String: SQL) {
// Objektgeraffel
return rs;
}
MiW 08.09.2009
1
Generell sollte es da eine Möglichkeit geben. Ich kenne mich jetzt nicht perfekt in den Möglichkeiten von Lazarus und SQL aus, aber im Normalfall haben die meisten Programmiersprachen die Möglichkeit nach dem Aufbau einer Verbindung auch ein Query an den Server zu senden.

Aber ich weiß auch, dass sich das Ganze unter Delphi etwas schwieriger gestaltet. Ich habe ein paar Tutorials gefunden, vielleicht klären die ja genau dein Problem.

Datenbanken unter Delphi

// EDIT: wie ich gerade sehe, hat mein Vorredner bereits ein Beispiel geposted.
08.09.2009
Dustin Klein 2,9k 2 9

Stelle deine Mssql-Frage jetzt!