2016-04-09 2 views
0

Я пытаюсь создать плоскую базу данных файлов для своего приложения VB.NET, а поскольку это небольшой школьный проект, мне не нужна база данных MySQL. Я программирую на Visual Basic, и мне интересно, как я могу сохранить информацию пользователя (имя пользователя, пароль) в текстовом файле, разделить его по вкладке, а затем прочитать его при входе в систему. В основном система входа/регистрации с использованием плоской базы данных файлов , Кто-нибудь есть предложения о том, с чего начать и как отделить данные по вкладкам и даже игнорировать вкладки при чтении данных?Создание базы данных с плоскими файлами

Большое спасибо, заблаговременно.

+1

Почему отдельные табулятором? Посмотрите на [Binary Serialization] (http://www.codeproject.com/Articles/254617/Serialization-Part-I-Binary-Serialization) _ вместо этого. Это намного эффективнее, поскольку вы можете использовать классы со свойствами/полями, которые позволят вам получить лучшую структуру данных. –

+0

Благодарю вас. – Eldarz1

ответ

0

Это должно быть полезно для вас.

Считывание данных:

Dim ofd1 As New OpenFileDialog 
if ofd1.ShowDialog() = DialogResult.OK then 

Dim reader As New StreamReader(ofd1.FileName) 
Do While reader.Peek() >= 0 
Dim curline As String = reader.ReadLine() 
Dim vals() As String = curline.Split(vbTab) 
    Dim username as string = vals(0) 
    Dim password as string = vals(1) 

    MessageBox.Show("username: " & username) 
    MessageBox.Show("password: " & password) 

     Loop 
     reader.Close() 
    end if 

file.txt

username1(tab)password1 
username2(tab)password2 
+0

** Во-первых, _and most important_ of all **, вы ** должны ** проверить, '' 'fromd1.ShowDialog()' оценивает 'DialogResult.OK'. Это означает, что пользователь выбрал файл и нажал, чтобы открыть его. Если вы этого не сделаете, у вас возникнут проблемы, если пользователь решит отменить открытие. --- Это можно сделать с помощью простого 'If'-statement:' If ofd1.ShowDialog = DialogResult.OK Then'. –

+0

Во-вторых, в то время как 'Не curline Is Nothing' (или' Curline IsNot Nothing') работает для проверки, когда читать больше нечего, я бы предпочел вместо этого использовать цикл «Not reader.EndOfStream». Свойство EndOfStream сообщит вам, когда поток достигнет своего конца, т. Е. Когда больше ничего не читать из файла. –

+0

Мне нравится метод разделения. Назад, когда я не полностью понял все методы, которые я сейчас делаю, использовал {{!! IfAnybodyIncludesThisExactTextInOneOfTheirEntriesIWillF ** KINGCUTYOU !!}} как разделитель при создании приложений для использования компанией. – ThatGuy