Jag har ett typat dataset med en tabell som jag loopar igenom UpdateCommand och de andra kan använda parametrar. Hur kopplar jag min DataRow till UpdateCommand (Utan att använda DataAdapter)?ADO.NET: RowVersion i Typade dataset
Sub UpdateDT(Byval DataTable)
For Each DR in DataTable
Select Case DR.RowState
Case DataRowState.Added
Insert(DR)
Case DataRowState.Deleted
Delete(DR)
Case DataRowState.Modified
Update(DR)
End Select
Next
End Sub
Sub Update(DR)
With UpdateCommand
.CommandText = "Update..."
.ExecuteNonQuery
end with
End Sub
Detta är den UpdateString som DataAdaptern använder:
"UPDATE SYSMODUL SET MODULKOD_PK_TXT = :MODULKOD_PK_TXT, " & _
"MODULNAMN_TXT = :MODULNAMN_TXT " & _
"WHERE (MODULKOD_PK_TXT = :Original_MODULKOD_PK_TXT) " & _
"AND (MODULNAMN_TXT = :Original_MODULNAMN_TXT OR " & _
":Original_MODULNAMN_TXT IS NULL AND MODULNAMN_TXT IS NULL)"
Nu till mina frågor:
Kan UpdateCommand använda parametrar?
Hur kan man läsa av Originalvalue från en kolumn i ett typat dataset?Sv: ADO.NET: RowVersion i Typade dataset
ex:
<code>
myCmd = New SqlCommand("INSERT INTO Table (ID, Name) VALUES (@ID, @Name)", myConn)
myCmd.Parameters.Add("@ID", SqlDbType.NChar, 5, "ID")
myCmd.Parameters.Add("@Name", SqlDbType.NVarChar, 40, "Name")
myDa.InsertCommand = myCmd
</code>
/Fredrik Normén NSQUARED2
http://www.nsquared2.netSv: ADO.NET: RowVersion i Typade dataset
Eftersom jag vill stödja olika databaser deklararerar jag min variablel som IDbDataAdapter
och då överlagas inte Update funktionen med Update(DataTable) och Update (DataRow)?