Forum: ADO.NET |
Thema:
Re: Änderungen vom DataGrid speichern |
Von:
Ralf Ziola (
03.02.2006 14:08) |
Hallo, ich hatte ein ähnliches Problem. Nachdem ich das mit NUR Code nicht lösen konnte, hab ich mir die Objekte von der Toolbox gezogen und folgenden Code eingefügt:
Cursor = Cursors.WaitCursor
dgSysxta.Update()
Dim TabName As String = DataSet1.Tables(0).TableName
Dim dtTable As New DataTable(DataSet1.Tables(0).TableName) 'dssysxta
Dim strSQL As String = "SELECT * from sysxta where wert1 like '%srv%' or wert1 like '%SRV%' order by recnum"
Dim SQL As String = "UPDATE SYSXTA SET RECNUM = ?, TAPRG_CODE = ?, POS = ?, TACODE_CODE = ?, TAPARA_CODE = ?, WERT1 = ?, WERT2 = ?, WERT3 = ?, INFO_TEXT = ?, AEND_DATUM = ?, AEND_HZ = ?, RID = ?, ASYSXTA_RID = ?, SYSTABLE_RID = ? WHERE (POS = ?) AND (RECNUM = ?) AND (TAPARA_CODE = ?) AND (TAPRG_CODE = ?) AND (AEND_DATUM = ? OR ? IS NULL AND AEND_DATUM IS NULL) AND (AEND_HZ = ? OR ? IS NULL AND AEND_HZ IS NULL) AND (ASYSXTA_RID = ?) AND (INFO_TEXT = ? OR ? IS NULL AND INFO_TEXT IS NULL) AND (RID = ?) AND (SYSTABLE_RID = ?) AND (TACODE_CODE = ?) AND (WERT1 = ?) AND (WERT2 = ?) AND (WERT3 = ? OR ? IS NULL AND WERT3 IS NULL)"
Dim cmd As New OleDbCommand(strSQL, con)
Dim cmdUpdate As New OleDbCommand(SQL, con)
OleDbDataAdapter1.SelectCommand = cmdUpdate
Dim cmdbld As New OleDbCommandBuilder(OleDbDataAdapter1)
OleDbDataAdapter1.Update(DataSet1, TabName)
Cursor = Cursors.Arrow
Das klappt wunnerbar. Egal was ich in meinem Datagrid verändere, wenn ich den Button für diese Prozedur drücke, werden alle Änderungen in meine DB geschrieben.
Ich arbeite zwar mit Oracle, es sollte aber kaum ein Unterschied dabei sein.
Gruss
Ralf
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!