VB中的记事本数据库

时间:2015-02-23 09:50:45

标签: vb.net visual-studio-2010 notepad

我是VB.net的新手,并且只学习了几周 我正在做一个项目,我需要使用记事本作为数据库来制作EPOS系统。我能够使按钮的值出现在列表框中,但是我有许多按钮都具有不同的值,但每次按下不同的按钮时,只显示文本框中的第一个值。 例如 当喜力按钮按下“Heineken€5.00”时显示 当Guiness按钮按下“Heineken€5.00”时显示

非常感谢任何帮助!

导入System.IO 公共类Form1

Private Sub btnHeineken_Click(sender As Object, e As EventArgs) Handles btnHeineken.Click
    Dim sr As IO.StreamReader = IO.File.OpenText("DATABASE.txt")
    'File DATABASE.TXT is the the debug folder

    Dim name As String

    Dim stock, price As Double
    name = sr.ReadLine

    stock = CDbl(sr.ReadLine)

    price = CDbl(sr.ReadLine)

    lstBox.Items.Add(name & "" & FormatCurrency(price))
    name = sr.ReadLine



End Sub

Private Sub BtnGuiness_Click(sender As Object, e As EventArgs) Handles BtnGuiness.Click
    Dim sr As IO.StreamReader = IO.File.OpenText("DATABASE.txt")
    'File DATABASE.TXT is the the debug folder

    Dim name As String

    Dim stock, price As Double
    name = sr.ReadLine

    stock = CDbl(sr.ReadLine)

    price = CDbl(sr.ReadLine)

    lstBox.Items.Add(name & "" & FormatCurrency(price))
    name = sr.ReadLine
End Sub

DATBASE.txt

Heineken
5.00
20
Guiness
4.50
50
Bulmers
5.00
25

1 个答案:

答案 0 :(得分:0)

您的方法都具有完全相同的代码。因此,它们完全相同:它们在文本文件中显示第一个条目的内容。

如果您希望自己的方法执行不同的事情,则需要在其中加入不同的代码。

不幸的是,在您的方法中添加任意代码不会让他们按照您的意愿行事。看起来你已经发现了这一点。所以下一步是采取更有条理的方法:

  1. 确定按钮点击应该执行的操作。看起来你已经这样做了:你想要显示" Guiness€4.50"当" Guiness"单击按钮。

  2. 接下来,考虑 你的程序如何做到这一点。显然,那就是你被困的地方。你有一个带有条目列表的文本文件,你如何得到你想要的那个?

  3. 在代码中翻译步骤2的结果("算法")。

  4. 您尝试在第2步之前执行第3步。这不会起作用,这就是您的代码无法正常工作的原因。

    我建议您对第2步非常认真(如何在文本文件中查找数据?如果我在我面前打印文件并亲自搜索数据,我该怎么办?),提出一个算法,然后返回这里并询问一个新问题,如果你需要帮助将其翻译成代码。