2014-10-18 1 views
0

Я пытаюсь сохранить информацию из текстового файла в базу данных. Это то, что у меня есть, но не мог понять, что делать дальше.Анализ текстового файла для доступа к базе данных в VB.NET

Imports System.IO 
Public Class Form1 



Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    Dim filename As String 
    filename = Application.StartupPath + "\darsReport.txt" 
    Dim iofile As New StreamReader(filename) 
    If File.Exists(filename) Then 
     Dim ioline As String 
     Dim ID, studentName, currentGPA, ReqGPA, expectedGraduation 

     ioline = iofile.ReadLine 

     While Not ioline = "" 
      Dim mysplit = Split(ioline, " ") 
      ID = mysplit(1) 
      studentName = mysplit(0) 
      expectedGraduation = mysplit(2) 
      currentGPA = mysplit(3) 
      ReqGPA = mysplit(4) 

     End While 

    Else 
     MsgBox(filename + "Does not exist.") 
    End If 
End Sub 
End Class 

ответ

0

После этого вам необходимо запустить запрос INSERT в вашей таблице базы данных. Самый простой способ сделать это состоит в использовании SqlCommand класса (при условии, что у вас есть база данных SQL Server):

Dim con as new SqlConnection("Your Connection String Here") 
con.Open() 
Dim cmd as New SqlCommand("", con) 
cmd.CommandText = String.Format("INSERT INTO [YourTable](ID, Name, CurrentGPA) VALUES({0}, '{1}', {2})", ID, studentName, currentGPA) 
cmd.ExecuteNonQuery() 
con.Close() 

Используйте этот блок кода внутри цикла, и всех ваши строк будет вставлен в базу данных. Однако имейте в виду, что это действительно самый простой способ сделать это, и нужно написать намного больше кода для правильной обработки исключений, недопустимых данных и т. Д. Также этот метод можно легко использовать с помощью SQL Injections. В .NET существуют гораздо лучшие атрибуты (например, DataSets и Entity Framework), которые следует использовать для этой задачи.

+0

Я использую MS Access 2013. – agirlinstates

+0

@agirlinstates: проблем нет. Вы можете использовать 'OledbConnection' вместо' SqlConnnection' и 'OledbCommand' вместо' SqlCommand' в вышеуказанном коде. Остальная часть должна работать так, как есть. – dotNET