![](/img/trans.png)
[英]how can i store the result of the selected columns in my sql query in a variable in vb.net
[英]How to store selected data in a list in vb.net?
我已经过滤了myRawData表中的数据,将生成的查询插入到myImportedData表中。
情况是,在将过滤的数据插入到myImportedData中之前,我将对其进行一些格式化。
我的问题是如何将过滤后的数据存储在列表中? 因为这是我重申过滤数据的最简单方法。
到目前为止,这里是我的代码,它仅在列表中存储1个数据。
Public Sub ImportData()
Dim con2 As MySqlConnection = New MySqlConnection("Data Source=server;Database=dataRecord;User ID=root;")
con2.Open()
Dim sql As MySqlCommand = New MySqlCommand("SELECT dataRec FROM myRawData WHERE dataRec LIKE '%20130517%' ", con2)
Dim dataSet As DataSet = New DataSet()
Dim dataAdapter As New MySqlDataAdapter()
dataAdapter.SelectCommand = sql
dataAdapter.Fill(dataSet, "dataRec")
Dim datTable As DataTable = dataSet.Tables("dataRec")
listOfCanteenSwipe.Add(Convert.ToString(sql.ExecuteScalar()))
'ListBox1.Items.Add(listOfCanteenSwipe(0))
End Sub
myRawData表中的数据示例如下:
myRawData Table
--------------------------
' id ' dataRec
--------------------------
' 1 ' K10201305170434010040074A466
' 2 ' K07201305170434010040074UN45
请帮忙。 谢谢。
编辑:
我只想实现的就是将经过过滤的数据存储在列表中。 我使用列表循环遍历过滤后的数据-对此我没有任何问题。
存储在列表中之后,我现在将对要导入myImportedData表中的dataRec字段中的信息进行加密。
为了增加一些知识,我将格式化dataRec字段,如下所示:
K07 ----> Loc
20130514 ----> date
0455 ----> time
010 ----> temp
18006D9566 ----> id
尝试这个
dim x as integer
for x = 0 to datTable.rows.count - 1
listOfCanteenSwipe.Add(datTable.rows(x).item("datarec"))
next
为什么不更改SQL语句为您拆分字段?
您可以使用SQL的强大功能来执行可以在服务器上执行的任何数据操作,这要快得多,服务器上的开销也较小,并且是专门为此目的而设计的
SELECT
SUBSTRING(dataRec,1,3) as [Loc]
,SUBSTRING(dataRec,4,8) as [date]
,SUBSTRING(dataRec,12,4) as [time]
,SUBSTRING(dataRec,16,3) as [temp]
,SUBSTRING(dataRec,19,10) as [Loc]
FROM myRawData WHERE dataRec LIKE '%20130517%'
然后将其直接加载到您的.NET数据表“ myImportedData”中
在数据表中获取数据后,您可以将其转换为通用列表。 然后,您可以使用此列表进行进一步的操作:
List<MyType> list = dataTable.Rows.OfType<DataRow>()
.Select(dr => dr.Field<MyType>(columnName)).ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.