Datagrid: UPDATE von Daten

Stempi

Grünschnabel
Hallo zusammen

Vielleicht könnt ihr mir weiterhelfen.

Versuche und suche seit Tagen eine Möglichkeit resp. die Lösung, wie ich
UPDATES via DataGrid in einer Datenbank (Access od. SQL Server 2000)
vornehmen kann.

Das Füllen mit Daten war kein Problem doch mit UPDATE von bestehenden und INSERT von neuen Daten finde ich keine Lösung.

In der MSDN-Bibliothek ist z.B. genau der Teil nicht aufgeführt, bei der die Datenbank aufgerufen wird und die geänderten Daten gespeichert werden.
Der Teil mit den Textboxen ist zwar vorhanden, verstehe ihn jedoch nicht ganz.

Kennt jemand von euch ein Tutorial oder ähnlich, bei dem man Schritt für
Schritt vorgehen kann? Ich kann mir vorstellen, dass eine solche Funktion
öfters gebraucht wird, kann aber nirgends etwas finden.

Für eure Hilfe danke ich euch, sonst verzweifle ich schon bevor ich begonnen haben. ;-)
Gruss,

Stempi
 
Ich nehme jetzt mal an, dass du die Lösung über DataSet und DataAdapter hast.
Dann gäbe es da zum Beispiel so was ähnliches im Beitrag Datagrid und SQL-Update

Hast du' s ansonsten mal per Google versucht ?
In einem Foren-Beitrag von devshed stehen zum Beispiel schon mal ein paar Links zu diesem Thema.
 
...aber in C#?

Hi Gorcky

Erst einmal vielen Dank für deine Antwort. und die Links. Der eine (siehe Code untenstehend) entspricht so ziemlich dem was ich suche, aber leider in VB.NET und nicht in C#.

Hatte ehrlich stundenlang gesucht via google aber - was mich eigentlich sehr überraschte - leider ausser VB nichts finden und mit dem "pröbeln" kam ich auch nicht weiter.

Würde auch gerne ein Buch kaufen, aber wo finde ich diesen Bereich mit DataGrid und DataList -Anbindung an SQL-Server oder .mdb?

Nochmals vielen Dank und ein schönes Weekend.

Gruss,

Pat



<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Page Debug=True %>



<html>

<script language="VB" runat="server">

Dim strConn as String = "server=localhost;database=aspalliance;uid=sa;pwd=;"



Sub Page_Load(Src As Object, E As EventArgs)

If Not (IsPostBack)

BindGrid()

End If

End Sub



Sub BindGrid()

Dim myConnection as New SqlConnection (strConn)



Dim DS As DataSet

Dim MyCommand As SqlDataAdapter

MyCommand = new SqlDataAdapter("select * from yourtable", MyConnection)



DS = new DataSet()

MyCommand.Fill(DS, "table1")



MyDataGrid.DataSource=DS.Tables("table1").DefaultView

MyDataGrid.DataBind()

End Sub



Public Sub MyDataGrid_Cancel(sender As Object, e As DataGridCommandEventArgs)

MyDataGrid.EditItemIndex = -1

BindGrid()

End Sub



Sub MyDataGrid_Edit(Sender As Object, E As DataGridCommandEventArgs)

MyDataGrid.EditItemIndex = CInt(E.Item.ItemIndex)

BindGrid()

End Sub
 
Es sollte eigentlich kein Problem sein diesen Code in C# umzuschreiben. Die Objekte sind gleich, es kommt an den meisten Stellen nur [ ] und ein ; hin :D

Für den Rest musst du ein bischen in der MSDN suchen, einfach den VB.NET Befehl eingeben.

Allerdings ist das was du gepostet hast für ASP.NET. Bedenkte das das Daten Handling von ASP.NET im Vergleich zur Windows Entwicklung anderst funktioniert. Es werden zwar die gleichen Objekte verwendet aber das Prinzip ändert sich fast komplett!

Ich würde dir vorschlagen du versucht deinen Code einfach mal in C# zu übersetzten, wenn du es allerdings nicht hinbekommst, dann poste es und ich packe dir den wichtigsten Teil in ein C# Projekt und hänge es hier ran!
 
Hallo Stempi,

Habe für mich das Buch "DEVELOPING WEB APPLICATIONS with MICROSOFT VISUAL BASIC.NET and VISUAL C#.NET" von der Microsoft Press als wahren Schatz entdeckt.
Habe die "second Edition", die erste soll echt mies gewesen sein. (Siehe Rezensionen bei Amazon.de)
In diesem Buch ist eine solche Datenbak-Anwendung aber sehr gut in "lessons" zum schrittweisen nachbauen beschrieben.
Ist allerdings ein reines ASP.NET-Buch.
Es gibt dieses Buch aber bestimmt auch für Windows-Applikationen.

Gruß
Gorcky
 
Hallo Gorcky, hallo René

Vielen Dank für eure Hilfe.

Beginne mal mit der "Übersetzung" und versuche das Buch zu beschaffen.
So eine Step-by-Step Einführung ist nämlich genau das, was ich suche.

Gruss und ein schönes Weekend (...oder was noch davon übrigbleibt),

Pat
 
Wie gesagt, melde dich einfach wenn du nicht weiter kommst. In den nächsten zwei Wochen kann ich auch tagsüber auf das Forum zugreifen und ggf. dir dann Hilfe leisten.
 
Zurück