Frage

Ich habe zwei Update-SQL-Anweisungen für zwei SqlCommand-Objekt zu aktualisieren ein Datatable mit DataSet-Objekt One Source Tabelle. Wenn ich auf Update-Button klicken, dass das Update nur die erste und die zweite SqlCommand Objekt funktioniert nicht. Was ist es? Datatable nicht unterstützte zwei Command-Objekt zu einer Zeit? Ich schreibe wie folgt:

Dim conxMain As New SqlConnection("Data Source=SERVER;Initial Catalog=DBTest;Persist Security Info=True;User ID=usr;Password=pwd")

    Dim dadStockInfo As New SqlDataAdapter
    Dim dsStockInfo As New DataSet
    Dim transStockInfo As SqlTransaction = Nothing
    Try
        conxMain.Open()

        transStockInfo = conxMain.BeginTransaction()
        dadStockInfo.SelectCommand = New SqlCommand("SELECT * FROM Stock", conxMain, transStockInfo)
        Dim builder As SqlCommandBuilder = New SqlCommandBuilder(dadStockInfo)

        dadStockInfo.FillSchema(dsStockInfo, SchemaType.Source, "Stock")

        dadPurchaseInfo.Fill(dsPurchaseInfo, "Stock")

        Dim cmdStockUpdateCmd As SqlCommand = Nothing

        cmdStockUpdateCmd = New SqlCommand("UPDATE Stock SET StockCode= 'TestCode' WHERE StockID = 4", conxMain, transStockInfo)
        dsStockInfo.Tables("Stock").Columns("StockID").ReadOnly = False
        dadStockInfo.UpdateCommand = cmdStockUpdateCmd

        //dadStockInfo.Update(dsStockInfo, "Stock") [I have already tried this but did not work]

        Dim cmdStockUpdateCmd1 As SqlCommand = Nothing

        cmdStockUpdateCmd1 = New SqlCommand("UPDATE Stock SET StockCode= 'Test-Code2' WHERE StockID = 1", conxMain, transPurchaseInfo)

       dadStockInfo.UpdateCommand = cmdStockUpdateCmd1

       dadStockInfo.Update(dsStockInfo, "Stock")

       transStockInfo.Commit()

Kann ich nicht verwenden, wie oben? Bitte zeigen Sie mir aus!

Hallo! Hilf mir! F1:)

War es hilfreich?

Lösung

Die Art und Weise Sie es verwenden Sie shouln't die Dataadapters und Datensätze müssen ...
Sie führen nur 2 Update-Anweisungen.

Sie können nur das tun,

cmdStockUpdateCmd1 = New SqlCommand("UPDATE Stock SET StockCode= 'Test-Code2' WHERE StockID = 1", conxMain, transPurchaseInfo)
cmdStockUpdateCmd1.ExecuteNonQuery();

Datasets und Dataadapter sind für Daten an den Client zu bekommen.
Ändern von Daten auf der Client-Seite und dann die Änderungen an den Server sendet.
Sie werden die Änderungen direkt auf dem Server mit SQL zu machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top