我正在开发一个迁移实用程序,使用vb.net将数据从一个表传输到另一个表,因为我需要对数据进行一些更改然后将其插入到另一个表中,而这样做我就到了我要插入的地方使用循环数据表从数据表进入sql server db的数据,但是当我去SQL Server并检查数据是否存在时,它不是由Srno按顺序,这是我第一次看到这种事情,在插入数据之前我在DataGridView中显示数据并且它显示完全正常但是只要我将数据从数据表插入到SQL Server DB它就不会按顺序保存,因为它在DataGridView中显示
注意:我也尝试遍历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
请检查此图片以了解数据的插入方式。
其余细节如下,
数据库架构
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 :(得分:1)
您尝试做的事情基本上是不可能,因为关系数据库表没有任何固有的排序 - 没有办法以有序的方式插入数据""因为表本身不是按设计排序的。
在关系数据库中获取排序的唯一方法是SELECT
从数据库表中指定明确的ORDER BY
子句,这样做 - 在这种情况下,您将获取数据你定义的有序时尚。
但是在关系数据库中没有任何办法可以对表格进行排序"通过任何键或键组合或任何东西 - 数据库表本身是 UNORDERED - 这是设计的。