2016-12-11 135 views
0

我正在開發一個遷移實用程序,使用vb.net將數據從一個表傳輸到另一個表,因爲我需要對數據進行一些更改,然後插入它進入另一個表,而這樣做,我來到了一個點,我從數據表使用循環通過數據表插入數據到SQL Server數據庫,但是當我去到SQL Server並檢查數據是否存在,它不在順序由Srno,這是我第一次看到這種事情,插入數據之前,我在DataGridView中顯示數據,它顯示完全正常,但只要我從數據表中插入數據到SQL Server數據庫它沒有按照DataGridView中的顯示順序保存。數據沒有從數據表順序插入SQL Server數據庫vb.net

注意:我試圖通過DataGridView循環,但它是做同樣的事情。

請檢查瞭解下面的代碼,我有4500條記錄需要遷移

If finalDT.Rows.Count > 1 Then 
     For Each q In finalDT.Rows 
      'MessageBox.Show(q.item("ID").ToString + q.item("ODate").ToString + q.item("WDate").ToString) 
      id = q.item("ID") 
      odate = q.item("Odate") 
      wdate = q.item("WDate") 
      intime = q.item("WDatetime") 
      outtime = q.item("ODatetime") 
      qry = "insert into weight3 values ('" & id & "','" & odate & "','" & wdate & "','" & intime & "','" & outtime & "')" 

      updateWt(qry) - Insert QRY Goes for operation 

     Next 
    End If 

請查看此圖片看數據是如何得到插入。

Click Here

的細節其餘均爲如下,

數據庫模式

Srno int 

Odate datetime  
Wdatetime datetime  
intime nvarchar(50)  
outtime nvarchar(50)  

數據表

finalDT.Columns.Add("ID", GetType(Integer)) 
finalDT.Columns.Add("ODate", GetType(String)) 
finalDT.Columns.Add("WDate", GetType(String)) 
finalDT.Columns.Add("WDateTime", GetType(String)) 
finalDT.Columns.Add("ODateTime", GetType(String)) 
+0

嗨Marc_s,試圖使用順序執行相同的操作以及但沒有工作 – Infirazor

+0

好吧馬克所以我怎麼能插入時執行相同的操作,因爲你可能已經看到了屏幕截圖,我沒有得到任何線索將其插入方式 – Infirazor

+0

好的,謝謝Mark_S我很好理解..! – Infirazor

回答

1

什麼你正在試圖做的主要是不可能,sinc e關係數據庫表沒有任何固有排序 - 無法按有序方式插入數據「,因爲表本身並未按設計排序。

只有這樣,才能獲得在關係數據庫中排序由SELECT從數據庫表荷蘭國際集團,並指定一個明確的ORDER BY條款,而這樣做 - 在這種情況下,你回來在有序的方式已經定義了你的數據。

但有在關係數據庫中沒有辦法通過按鍵或任何的任意鍵或組合「命令表」 - 數據庫表本身就是無序 - 這是由設計。