В настоящее время я работаю над системой инвентаризации библиотеки. Я хотел, чтобы он мог добавлять, выдавать, искать и удалять записи книг. Записи хранятся в текстовом файле, который выглядит так:Поиск и удаление данных в текстовом файле
(ID), (Название книги); (Автор); (Цена); (Книжный донор); (Язык)
E.g.
123, Путешествие к центру земли; Жюль Верн ; 50; Разъем ; Английский
...
Эта программа также работает с DataGridView для обновления до/из текстового файла, до сих пор мои оные и выдавать функции работают, но у меня возникают проблемы с поиском и удалить.
Для поиска пользователь должен либо ввести идентификатор книги в текстовое поле, либо на языке книги (отдельное текстовое поле), и он должен показывать результаты поиска в представлении datagridview.
Это моя попытка для функции поиска:
Dim line As String
Dim fields(7) As String
Dim found As Boolean = False
Dim inputStream As StreamReader
inputStream = File.OpenText("AddBookScreen.txt")
line = inputStream.ReadLine()
While (line <> Nothing) And found = False
fields = Split(line, ",")
If Trim(fields(0)) = SBidTextbox.Text Then
SBdatagridview.Rows.Add(Trim(fields(1)), Trim(fields(2)), Trim(fields(3)), Trim(fields(4)), Trim(fields(5)), Trim(fields(6)))
found = True
Else
line = inputStream.ReadLine()
End If
End While
If Not found Then
MessageBox.Show(SBidTextbox.Text & " not found")
End If
inputStream.Close()
End Sub
функция удаления должна быть в состоянии найти конкретную книгу по идентификатору, а затем удалить эту запись из текстового файла.
Это моя попытка для функции удаления:
Dim lines() As String
Dim outputlines As New List(Of String)
Dim searchString As String = DBidTextbox.Text
lines = IO.File.ReadAllLines("AddBookScreen.txt")
For Each line As String In lines
If line.Contains(searchString) = False Then
outputlines.Add(line)
End If
Next
поиска и удаления методы предназначены для поиска конкретной книги в текстовом файле, либо идентификатор книги или языка и отображения приводит к представлению datagridview, метод delete предназначен для поиска конкретной записи по идентификатору и удаления этой записи.
Может кто-нибудь, пожалуйста, проведет меня через эти проблемы, ваша помощь будет очень признательна.
В чем именно заключается ваша проблема? то есть методы поиска и удаления? Кроме того, такой доступ к данным - именно то, для чего были изобретены базы данных; если это возможно, переход от текстового файла к базе данных сделает вашу жизнь намного проще. –
Вы перечитываете файл снова и снова (и снова)? Вы можете загрузить его в «Список (Of T)», работать с ним, а затем записать его обратно, когда программа закончится – Plutonix
, ваш код показывает разделитель ',', но ваши данные образца показывают как запятую, так и запятую – Plutonix