2010-04-26 3 views
1

Я разработал приложение, использующее VB.NET, Visual Studio 2008 и базу данных SQL Server. Теперь я хочу игнорировать базу данных (она имеет 1 таблицу в качестве клиента (имя, пароль, час, минута)), поскольку я не хочу, чтобы мой клиент устанавливал SQL Server отдельно или другие накладные расходы.Обработка файлов в .NET

Я планирую сделать все, используя обработку файлов в VB.NET (манипулирование данными в самих файлах, например изменение имени пользователя, пароля и т. Д.). Поскольку я новичок, я действительно не знаю надлежащего пути и, конечно, нуждаюсь в помощи.

+0

Просто примечание, но если у вас есть столбец в таблице Customer, называемый «password», ** вы, вероятно, неправильно храните пароли ** ... См. http: // www.codinghorror.com/blog/2007/09/youre-probably-storing-passwords-incorrectly.html –

ответ

0

Я не уверен, какой формат файла вы хотите использовать для ваших плоских файлов, но один простой вариант - использовать XML. Вы можете создать собственный формат, но в VB.Net есть несколько простых инструментов для чтения и записи XML-файлов.

Для записи файла XML:

Public Sub SaveAs(ByVal fileName As String) 
    Dim writer As Xml.XmlWriter 
    Dim settings As New Xml.XmlWriterSettings 
    settings.Indent = True 
    settings.CloseOutput = True 
    writer = Xml.XmlWriter.Create(fileName, settings) 

    writer.WriteStartElement("customer") 

    writer.WriteStartElement("customerName") 
    writer.WriteValue("customer #1") 
    writer.WriteEndElement() 

    writer.WriteEndElement() 

    writer.Close() 
End Sub 

Чтение из документа XML, вы можете использовать некоторые из особенностей языка рядный VB XML:

Public Sub Load(ByVal fileName as String) 
    If Not IO.File.Exists(fileName) Then Throw New Exception("File not found.") 
    Dim xDoc as XDocument 

    Try 
     xDoc = XDocument.Load(fileName) 
    Catch e as Xml.XmlException 
     Throw New FileFormatException() 
    End Try 

    Dim customers = xDoc..<customer> 
    For each customer in customers 
     Dim customerName = customer.<customerName>.Value 
     //'do something with the data 
    Next 

End Sub 

Бет Масси имеет некоторые good videos on working with XML files and data in VB

+0

большое спасибо за ур. Я ценю поддержку ур. – piku

+0

Добро пожаловать. Если вы новичок на сайте, не забудьте принять один из предоставленных ответов, если почувствуете, что он ответил на ваш вопрос. – gbc

4

Возможно, вы захотите использовать SQLLite, который является находящейся в процессе работы БД. Вы можете повторно использовать большую часть вашего существующего кода, и вашему клиенту не придется справляться с накладными расходами на установку SQL Server.

+3

+1 SQL Server CE также подходит для этого описания. –

+1

Соглашайтесь на Sql Server CE. Если вы уже начали путь к серверу Sql, код не должен сильно меняться. Кроме того, Eneity Framework работает с Sql CE. –

+0

спасибо ... я ценю поддержку ур – piku

0

Вы не должны делать это с помощью файлов ... Вы потеряете bascic функциональные возможности, предоставляемые БД, такие как простой INSERT/UPDATE/DELETE/QUERY

Вы можете использовать простую базу данных, таких как MS Access или SQLite

Редактировать

MS Access строка соединения будет зависеть от версии, которую вы используете, немного более подробно о возможной версии офиса/MS Access поможет, но

MS Access 2007:

Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C: \ MyFolder \ myAccess2007file.accdb; Упорство Info Security = False;

Prior to MS Access 2007

Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C: \ mydatabase.mdb; User Id = администратора; Password =;

Для Ms Access Вы должны использовать OleDbConnection Class вместо SqlConnection Class, как для Sql Server

+0

Мне не известно о доступе. Я устал это делать, но показал ошибку в имени провайдера – piku

+0

Покажите нам полученную вами ошибку и версию MS Access, и мы можем попытаться помочь. –

+0

MS Access 2007, { "Ключевое слово не поддерживается:. 'Поставщика'"} является ошибка и что замена thiscode в доступе Dim кон Как SqlConnection Dim ЦМД As New SqlCommand CON = New SqlConnection (Conn) – piku

1

Некоторые люди предпочитают хранить простые данные в формате XML. Затем вы можете использовать LINQ или XPath для запроса XML. Я также видел, как другие используют сильно типизированный DataSet и сохраняют его на HDD.

Смежные вопросы