【发布时间】:2012-02-13 11:02:13
【问题描述】:
我正在尝试做的事情可能更适合与 SQL Server 一起使用,但我过去看到过许多只处理文本文件的应用程序,我想尝试模仿这些应用程序所遵循的相同行为。
我有一个文本文件中的 URL 列表。这很简单,可以逐行打开和读取,但是如何存储文件中的其他数据并查询数据?
例如 文本文件:
http://link1.com/ - 0
http://link2.com/ - 0
http://link3.com/ - 1
http://link4.com/ - 0
http://link5.com/ - 1
然后我将读取数据:
Private Sub ButtonX2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonX2.Click
OpenFileDialog1.Filter = "*txt Text Files|*.txt"
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
Dim AllText As String = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
Dim Lines() = Split(AllText, vbCrLf)
Dim list = New List(Of Test)
Dim URLsLoaded As Integer = 0
For i = 0 To UBound(Lines)
If Lines(i) = "" Then Continue For
Dim URLInfo As String() = Split(Lines(i), " - ")
If URLInfo.Count < 6 Then Continue For
list.Add(New Test(URLInfo(0), URLInfo(1)))
URLsLoaded += 1
Next
DataGridViewX1.DataSource = list
LabelX5.Text = URLsLoaded.ToString()
End If
End Sub
如您所见,上面我提示用户打开一个文本文件,然后在 datagridview 中显示给用户。
现在这是我的问题,我希望能够查询数据,例如Select * From URLs WHERE active='1'(太习惯 PHP + MySQL!)
其中 1 是文本文件中 URL 后面对应的 1 或 0。
在上面的例子中,数据被存储在一个简单的类中,如下所示:
Public Class Test
Public Sub New(ByVal URL As String, ByVal Active As Integer)
_URL = URL
_Active = Active
End Sub
Private _URL As String
Public Property URL() As String
Get
Return _URL
End Get
Set(ByVal value As String)
_URL = value
End Set
End Property
Private _Active As String
Public Property Active As String
Get
Return _Active
End Get
Set(ByVal value As String)
_Active = value
End Set
End Property
End Class
从文本文件导入后存储数据的方式是否完全错误?
我是 VB.NET 的新手,仍在学习基础知识,但我发现在阅读大量书籍之前通过玩玩学习更容易!
【问题讨论】:
-
“在从测试文件导入数据后存储数据”是指如何在 proram 运行时将其存储在内存中并且还具有类似 db-engine 的查询功能?
标签: vb.net visual-studio visual-studio-2010 oop