Проверить, существуют ли данные в файле - PullRequest
1 голос
/ 21 июня 2020

Мне нужна помощь. Я хочу проверить, существует ли пользователь, введя его номер i c, и я хочу отобразить остальные его данные, используя файл в visual basi c. К сожалению, при этом возникает ошибка. Мне нужна помощь. Если пользователь существует, он автоматически отобразит имя, адрес электронной почты, адрес и т. Д., Но если пользователь не существует, отобразится окно сообщения. Сюда я прикрепил изображение экрана дисплея и код. Пожалуйста, помогите мне. Спасибо.

Public Class Form1

    Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
        Dim userFile As String = "C:\Users\HP\Desktop\userdata.txt"
        Dim inputFile As String

        If System.IO.File.Exists(userFile) = True Then

            Dim objReader As New System.IO.StreamReader(userFile)
            Dim intIc As Integer
            Dim intCount As Integer = 0
            Dim strName As String
            Dim strEmail As String
            Dim intPhoneNum As String
            Dim strAdd1 As String
            Dim strAdd2 As String
            Dim intPostcode As String
            Dim strState As String

            Do While objReader.Peek() <> -1

                intIc(intCount) = Convert.ToInt64(objReader.ReadLine())
                If (intIc(intCount).Convert.ToInt64(objReader.ReadLine())) Then
                    strName(intCount) = objReader.ReadLine()
                    strEmail(intCount) = objReader.ReadLine()
                    intPhoneNum(intCount) = Convert.ToInt32(objReader.ReadLine())
                    strAdd1(intCount) = objReader.ReadLine()
                    strAdd2(intCount) = objReader.ReadLine()
                    intPostcode(intCount) = Convert.ToInt32(objReader.ReadLine())
                    strState(intCount) = objReader.ReadLine()

                    lblName.Text = strName
                    lblEmail.Text = strEmail
                    lblNum.Text = intPhoneNum
                    lblAdd1.Text = strAdd1
                    lblAdd2.Text = strAdd2
                    lblPostcode.Text = intPostcode
                    lblState.Text = strState
                    objReader.Close()
                Else
                    MessageBox.Show("User Does Not Exist")
                End If

                intCount = intCount + 1
            Loop
        Else

            MessageBox.Show("File Does Not Exist")

        End If
    End Sub
End Class

Форма отображения пользователя

1 Ответ

0 голосов
/ 21 июня 2020

Ваша задача, простой способ:

  • создать новый проект
  • добавить DataSet в этот новый проект
  • открыть DataSet в вызове свойств это что-то разумное
  • Щелкните правой кнопкой мыши по поверхности, добавьте новую таблицу данных, назовите ее Person
  • Щелкните правой кнопкой мыши таблицу данных, добавьте столбец, назовите его I C. Щелкните правой кнопкой мыши, добавьте столбец, назовите его Имя. Продолжайте, пока вы не добавите все поля, которые хотите отслеживать (электронная почта, телефон, адрес1 и т. Д. c)
  • сохранить DataSet
  • открыть форму
  • показать источники данных окно (меню просмотра .. другое windows)
  • разверните узлы, пока не увидите Person
  • щелкните раскрывающийся список рядом с Person, переключитесь с DataGridview на Details
  • перетащите Person на форму. Появятся текстовые поля, метки и т. Д. c. В трее внизу появляется больше элементов
  • добавить текстовое поле в форму и называть его searchTextBox
  • добавить кнопку поиска в форму, дважды щелкнуть по ней, добавить эту строку кода в обработчик кликов:
    personBindingSource.Filter = '[ic] LIKE '" & searchTextBox.Text & "'"
    If personBindingSource.Count = 0 Then MessageBox.Show("No records")
  • дважды щелкните фон формы, чтобы добавить обработчик события загрузки формы, поместите эту строку кода: Если IO.File.Exists ("data. xml ") Затем .Read Xml (" data. xml ")
  • вернуться в конструктор, щелкнуть фон формы одним щелчком мыши и перейти к свойствам события формы, добавить обработчик к событию закрытия формы : .Write Xml ("data. xml")

Вот и все, теперь у вас есть программа, которая открывает, читает и заполняет DataSet данными из данных. xml файл, он будет искать его, когда вы вводите что-то в поле i c, текстовые поля используют привязку данных для автоматического отображения значений, а когда вы закрываете программу, он сохраняет данные обновлений. Единственная задача теперь - загрузить файл xml с данными.

Когда текстовые поля были добавлены в форму, вы также должны были увидеть вверху панель с некоторыми элементами управления влево / вправо и зеленым плюс. Щелкните зеленый плюс, введите данные, щелкните его еще раз, введите дополнительные данные. Если вернуться назад, если вы добавляете новые данные, данные будут зафиксированы. Если вы просматриваете существующие данные, редактируете их, а затем при переходе они фиксируются

После добавления некоторых данных вы можете искать существующие данные с помощью поля поиска. Когда вы ищете одно значение, оно должно быть единственным показанным, и навигационная система покажет «1 из 1». Чтобы вернуться в режим, в котором отображаются все данные, поместите одну звездочку в поле поиска и нажмите поиск; он должен отображать числовые записи в верхней панели, и вы можете прокручивать их с помощью стрелок.

Если у вас уже есть много данных в файле, как вы используете в своем вопросе, вы можете прочитать его на al oop (как вы делаете в своем вопросе, за исключением того, что не используйте этот код именно потому, что он содержит множество ошибок) как одноразовую вещь и назначьте его в datatable, или вы можете манипулировать им напрямую, чтобы он был XML в Текстовый редактор. Это легко сделать, если у вас есть способный текстовый редактор, но я не буду давать никаких конкретных советов по этому поводу, если у вас нет большого количества существующих данных. Задайте новый вопрос, если ответили

...