将数据插入具有多个列的单行数据表中 [英] Insert data into datatable on single row with more than one column
问题描述
如何从问题中将数据插入数据表?
Visual Studio 2015 |控制台应用程序
我有3个名为dt_A,dt_B,dt_C的数据表。我已经对SQL进行了查询以计算表行数并将SQLDataReader填充到DataTable中。涉及的DataTable是dt_A(从serverA获取)和dt_B(从serverB获取)。虽然dt_C将包含总计不同的数量(dt_A减去dt_B)。
假设dt_A和dt_B都应该包含此列:
dt_A
count_tbl1 ........... 390
count_tbl2 ............. 9
count_tbl3 ... ........ 500
dt_B
count_tbl1 ........... 385
count_tbl2 ............. 0
count_tbl3 ........... 480
假设dt_C将保持与上述数据的区别
dt_C
count_tbl1 ............. 5
count_tbl2 .... ......... 9
count_tbl3 ............ 20
dt_A和dt_B自动填写查询。 dt_C将手动插入。
Dim val1,val2 As Integer
Dim colname As 字符串
对于i = 0 至dt_A.Columns.Count - 1
colname = dt_A.Columns(i).ToString
dt_C.Columns.Add(colname)
Next
For i = 0 to dt_C.Columns.Count - 1
Dim nrow As DataRow = dt_C.NewRow
val1 = dt_A.Rows( 0 )。项目(i)
val2 = dt_B.Rows( 0 )。项目(i)
nrow(i)= val1 - val2
dt_C.Rows.Add(nrow)
下一步
第二个For Next,是显示错误显示。应该在单行上添加。相反,在lopping时,它会将下一个值添加到下一列但下一行。
我希望下一个值位于下一列和行(0)上。不应该做任何其他行。我尝试过其他但显示为空的
此处的图片视图 [ ^ ]
我的尝试:
Dim val1,val2 As Integer
Dim colname As String
For i = 0 to dt_A.Columns.Count - 1
colname = dt_A.Columns(i).ToString
dt_C.Columns.Add(colname)
Next
For i = 0 to dt_C.Columns.Count - 1
Dim nrow As DataRow = dt_C.NewRow
val1 = dt_A.Rows(0).Item(i)
val2 = dt_B.Rows(0).Item(i)
nrow(i)= val1 - val2
dt_C.Rows.Add(nrow)
下一步
在第二个for循环外移动创建和添加dt_C行
Dim nrow As DataRow = dt_diff.NewRow
For i = 0 至dt_diff.Columns.Count - 1
val1 = dt_local.Rows( 0 )。项目(i)
val2 = dt_azure.Rows( 0 )。项目(i)
nrow(i)= val1 - val2
下一个
dt_diff.Rows.Add(nrow)
干杯
How to insert data into datatable from the question?
Visual Studio 2015 | Console Application
I have 3 datatable named dt_A, dt_B, dt_C. I have made queries to SQL for counting table row count and fill SQLDataReader into DataTable. Involved DataTable is dt_A (grab from serverA) and dt_B (grab from serverB). While dt_C will contain a total different count from (dt_A minus dt_B).
Assuming both dt_A and dt_B should have this column:
dt_A count_tbl1...........390 count_tbl2.............9 count_tbl3...........500
dt_B count_tbl1...........385 count_tbl2.............0 count_tbl3...........480
Assume dt_C will hold differentiation from above data
dt_C count_tbl1.............5 count_tbl2.............9 count_tbl3............20
dt_A and dt_B automatically fill on queries. dt_C will insert manually.
Dim val1, val2 As Integer
Dim colname As String
For i = 0 To dt_A.Columns.Count - 1
colname = dt_A.Columns(i).ToString
dt_C.Columns.Add(colname)
Next
For i = 0 To dt_C.Columns.Count - 1
Dim nrow As DataRow = dt_C.NewRow
val1 = dt_A.Rows(0).Item(i)
val2 = dt_B.Rows(0).Item(i)
nrow(i) = val1 - val2
dt_C.Rows.Add(nrow)
Next
The second For Next, is showing wrong display. It should be adding on single row. Instead, while lopping, it will add next value to next column but next row.
I want next value to be on next column and on row(0). No any other row should be made. I have try some other but shows empty
image view here[^]
What I have tried:
Dim val1, val2 As Integer
Dim colname As String
For i = 0 To dt_A.Columns.Count - 1
colname = dt_A.Columns(i).ToString
dt_C.Columns.Add(colname)
Next
For i = 0 To dt_C.Columns.Count - 1
Dim nrow As DataRow = dt_C.NewRow
val1 = dt_A.Rows(0).Item(i)
val2 = dt_B.Rows(0).Item(i)
nrow(i) = val1 - val2
dt_C.Rows.Add(nrow)
Next
Move the creation and adding of the dt_C row outside the second for-loop
Dim nrow As DataRow = dt_diff.NewRow For i = 0 To dt_diff.Columns.Count - 1 val1 = dt_local.Rows(0).Item(i) val2 = dt_azure.Rows(0).Item(i) nrow(i) = val1 - val2 Next dt_diff.Rows.Add(nrow)
Cheers
这篇关于将数据插入具有多个列的单行数据表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!