1
SqlDataReader
クエリがロードされたDataTable
があります。私のDataTable
がロードされた後、私はすべてのインデックスSqlCommand
でデータを挿入したことを繰り返す。ただし、DataTable
はリフレッシュされません。データベース内のデータが更新されている間にDataTable
をリフレッシュするにはどうすればよいですか?SqlCommandステートメントで更新された値の後にデータテーブルを更新する方法はありますか?
connectionx()
Dim dtreader As SqlDataReader
Dim cmddt As New SqlCommand("SELECT * from sometable", con)
dtreader = cmddt.ExecuteReader()
Dim dt As New System.Data.DataTable()
dt.Load(dtreader) 'Here from datareader
For index As Integer = currentRow To dt.Rows.Count - 1
Dim drR As DataRow = dt.NewRow()
Dim reader1 As SqlDataReader
Dim EP As DateTime
Dim EndW As String = dtnow.ToString("MM/dd/yyyy HH:mm")
Dim setEndWaiting As Integer = Convert.ToInt32(adapterSch.SetEndWTime(EndW, Convert.ToInt32(Session("ShipLoadingOrderFK"))))
Dim startPre As DateTime = EndW
Dim endPre As DateTime = startPre + TimeSpan.Parse(defPre)
Dim setPreDocumentTime As Integer = Convert.ToInt32(adapterSch.SetPreDocumentTime(startPre, endPre, Convert.ToInt32(Session("ShipLoadingOrderFK"))))
Dim startPump As DateTime = endPre
Dim endPump As DateTime
Dim shipKey As String = Shipid.SelectedValue
pumpigResult(MinutePumpResult, HoursPumpResult, FlowrateValue, Shipid.SelectedValue, Loading_No.Value, typeLoading.SelectedValue)
If FlowrateValue = 0 Or FlowrateValue = "" Then
endPump = endPre + TimeSpan.Parse(defPumping)
Else
endPump = endPre + New TimeSpan(HoursPumpResult, MinutePumpResult, 0)
End If
Dim setPumpTime As Integer = Convert.ToInt32(adapterSch.SetPumpingTime(startPump, endPump, Convert.ToInt32(Session("ShipLoadingOrderFK"))))
Dim startPost As DateTime = endPump
Dim endPost As DateTime = endPump + TimeSpan.Parse(defPost)
Dim setPostTime As Integer = Convert.ToInt32(adapterSch.SetPostTime(startPost, endPost, Convert.ToInt32(Session("ShipLoadingOrderFK"))))
上記のコードですべてのインデックスを挿入した後に、データを挿入した後。前の行(index-1)の値を取得しましたが、の前に旧データが取得されています。私は更新された以前のデータを得ることができるようにDataTable
をリフレッシュする方法
Dim EP as datetime = Convert.ToDateTime(dt.Rows(index - 1)("PostDocEnd").ToString())
?私は再度DataTable
を再ロードしようとしましたが、何もありません。
ありがとうございます
イベントにはたくさんのコードがありますが、説明した問題に関連するものは実際には何も表示しません。挿入されず、「リフレッシュ」もありません。私はそのループのポイントまたは新しい行が作成されて表示されません – Plutonix
なぜあなたは、currentRowでループを開始し、どこで初期値を設定します。 ForステートメントのNextは表示されません。コードが完成していないようです。新しい行drRを作成し、ループ内で初期化されません。コードを確認して完了すると、問題の発見に役立ちます。 –