Entwickler-Ecke
Andere .NET-Sprachen - Insert-Anweisung
Das S - Mo 22.08.05 07:10
Titel: Insert-Anweisung
Hi,
ich beschäftige mich jetzt seit einigen Tagen mit delphi 2005 und ich kriege es einfach nicht geregelt, mit einer oledbconnection einen Datensatz in eine Datenbank zu schreiben. Kann mir hier jemand mal ein Beispiel posten, daß ich zumindest mal die grobe Richtung habe.
Schöne Grüße
Das S
Udontknow - Mo 22.08.05 07:34
Hallo!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| Adodataset.Commandtext:='select * from testtabelle'; AdoDataset.Active:=True;
AdoDataset.Append; AdoDataset.FieldByName('ID').AsInteger:=1; AdoDataset.FieldByName('NAME').AsString:='Testdatensatz'; AdoDataset.Post; |
Cu,
Udontknow
Das S - Mo 22.08.05 07:42
Ähhhhhhheeeeeeeeeeeemmmmmmmmmmmm, ich meinte eigentlich mit Hilfe des oledbconnection, oledbadapter und mit einem dataset. Und mit Delphi 2005.NET :D
Udontknow - Mo 22.08.05 08:01
Oh, tatsächlich, ist ja die .NET-Sparte... :oops:
Marauder - Mo 22.08.05 17:46
gucksch du :
Damit befüllst du eine listview mit dem SQL-blabla, ist praktisch exakt das gleiche wie mit dem oledb, einfach
den präfix sql in oledb abändern...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66:
| Procedure GetDR (var dr:SQLdatareader;SQL:String;var conn : SQLconnection); var cmd : SQLCommand; begin conn := SQLConnection.create('Server=icecube;Initial Catalog=Northwind;Integrated Security=true'); try cmd := SQLCommand.Create(SQL,conn); conn.open(); dr :=cmd.ExecuteReader (); except on ex: Exception do messagebox.show (ex.message,'Fehler bei Verbindungsaufbau !'); end; end;
Procedure LoadListView (lView : ListView;SQL :String); var item1: ListViewItem; SubItem: ListViewItem.ListViewSubItem ; a : integer; lvwCol : ColumnHeader; dr : SQLDatareader; cn : SQLConnection; begin LView.Clear; LView.View := View.Details; LView.FullRowSelect := True;
getDR (dr,SQL,cn);
if dr.read = True then begin with LView.Columns do begin for a := 0 to dr.FieldCount -1 do begin lvwCol := ColumnHeader.Create; lvwCol.Text := dr.GetName(a).ToString; Add (lvwCol); end; end; end; getDR (dr,SQL,cn);
while dr.read do begin item1 := ListViewItem.Create(dr.GetValue(0).toString.trim, 0); for a := 1 to dr.FieldCount -1 do begin SubItem := item1.SubItems.Add(dr.GetValue(a).toString.trim); end; LView.Items.Add(item1); end; for a := 0 to LView.Columns.Count -1 do begin try LView.Columns[a].Width := -2; except end; end; dr.close; cn.close; end;
procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs); Begin LoadListView (ListView1,'Select * from Shippers'); end; |
kannste übrigens ab oktober in meinem buch nachlesen... :wink:
den server solltest du natürlich ändern und die authentifizierungsmethode:
conn := SQLConnection.create('Server=
icecube;Initial Catalog=Northwind;Integrated Security=
true');
um sätze zu ändern nimmst du sowas:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| Function ExecuteSQL (SQL:String):Integer; var cmd : SQLCommand; cn : SQLConnection; begin cn := SQLConnection.create(connSTR); cn.open(); Result := 0; try cmd := SQLCommand.Create (); cmd.CommandText := SQL; cmd.Connection :=cn; Result := cmd.ExecuteNonQuery(); except on ex: Exception do messagebox.show (ex.message+chr(13)+chr(10)+SQL,'Fehler bei Execute !'); end; cn.close (); cmd.Free ;
end; |
da kannst du nun einfach einen sqlbefehl übergeben:
Delphi-Quelltext
1:
| ExecuteSQL ('update table set x=y where id=1'); |
zurückliefern tut dir die funktion die anzahl der geänderten...
hope it helps
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!