Hallo,
also es geht um VB2005 und MS SQL 2005. Ich konnte durch VB die ganzen Daten aus dem Datenbank aufrufen und Sie auch genau so als Tabelle in eine UltraGrid angezeigt kriegen.
Jetzt möchte ich das ganze aber auch ändern und abspeichern können. Ich habe es mir so vorgestellt:
Ich bearbeite einige Zellen und dann sobald ich auf dem "Speichern" Button klicke, sollen nur die Felder/Zellen die ich bearbeitet habe im datenbank aktualisiert werden. Also das mit dem aktualisieren geht halbwegs, nur weiß ich nicht wie ich das schaffe, dass mein Programm sich merken kann welche Zellen ich genau angesprochen habe (also bearbeitet habe), weil nur die sollten geupdatet werden und nicht die ganze Tabelle. Hier mal ein beispiel wie das momentan mit dem updaten aussieht:
Dim db As Database
Dim cmd As DbCommand
Dim ds As DataSet
Dim sql As String
Dim dv As New DataView
Try
db = Connection.Default_DB()
sql = "UPDATE tbl_Job "
sql &= "SET name = @Name, "
sql &= "description = @Description, "
sql &= "notice = @Notice, "
sql &= "WHERE Job_ID = @Job_ID"
cmd = db.GetSqlStringCommand(sql)
db.AddInParameter(cmd, "@Name", DbType.String, "") 'Zellentext
db.AddInParameter(cmd, "@Description", DbType.String, "test")
db.AddInParameter(cmd, "@Notice", DbType.String, "test")
db.AddInParameter(cmd, "@Job_ID", DbType.Int32, JobID)
ds = db.ExecuteDataSet(cmd)
dv = ds.Tables(0).DefaultView
Catch ex As Exception
End Try
Return dv Also da fehlt noch einiges. Im momentan muss ich alles manuell eingeben - Also welche Zelle geupdatet werden soll(Job_ID) und vorallem mit was - aber das funktioniert schon zumindest. Jetzt möchte ich aber natürlich nicht, dass überall mit "test" geupdatet wird, sondern mit das was ich in den Zellen bei UltraGrid geschrieben habe. Darum wieder zurück zum problem, ich weiß nicht wie ich Zellen anspreche bzw. überhaup sehe welche angesprochen (geändert) wurde. Dann könnte ich nähmlich zb. anstatt db.AddInParameter(cmd, "@Description", DbType.String, "test") einfach db.AddInParameter(cmd, "@Description", DbType.String, & Zellentext &) schreiben. Oder sowas ähnliches . Hoffe ich habs nicht zu kompliziert erklärt. Welche Lösung könnte es denn geben? Zumal am wichtigsten ist, wie ich herauskriege wie die Zellen heißen bzw. was da drinne steht.
Ich danke schonmal
Gruß |