繁体   English   中英

如何从文本文件中检索数据

[英]How to retrieve data from text file

我已将所有确认交易的数据逐行附加在文本文件中。 我要添加搜索功能,在该处用户输入其电子邮件地址,并且必须显示与该电子邮件相关的所有相关交易明细。

bool writeNextLine = false;
StringBuilder sb = new StringBuilder();

// Read the file and display it line by line.              
using (System.IO.StreamReader file = new System.IO.StreamReader("record.txt"))
{
    while ((line = file.ReadLine()) != null)
    {
        if (line.Contains(txt_SearchBooking.Text))
        {
            // This append the text and a newline into the StringBuilder buffer       
            sb.AppendLine(line.ToString());

            lbl_result.Text += sb.ToString();
        }
    }
}

但只显示包含电子邮件的行,其他则不显示。

电子邮件位于每个交易明细的最后一行。

confirmmsg =
      " Transaction # : " + EmployeeIDTextBox.Text + ClientIDTextBox.Text + UniqueIDTextBox.Text + "\r\n"
    + " First Name : " + ClientFirstNameTextBox.Text + "\r\n"
    + " Telephone Number : " + ClientTelephoneNumberTextBox.Text + "\r\n"
    + " Investment : " + investmentamt.ToString("C2") + "\r\n"
    + " Interest : " + (twelvemonthint * 100).ToString() + "%" + "\r\n"
    + " Interest Amount : " + (invesmentcalc(investmentamt, twelvemonthterm, twelvemonthint) - investmentamt).ToString("C2") + "\r\n"
    + " Bonus : " + bonus.ToString("c2") + "\r\n"
    + " Total Returns : " + invesmentcalc(investmentamt, twelvemonthterm, twelvemonthint).ToString("C2") + "\r\n"
    + " E-mail : " + ClientEmailTextBox.Text;

这是写入文本文件的数据。

如果每个事务始终有9行,而电子邮件是最后一行,则可以使用File.ReadAllLines和一个计数器。

var lines = File.ReadAllLines("records.txt");
for(int i = 0; i < lines.Length; i++)
{
   var line = lines[i];
   if(line.Contains(txt_SearchBooking.Text))
   {
       //Retrieve the previous lines
       for(int y = i-8; y <= i; y++)
       {               
           lbl_result.Text += lines[y];
       }
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM