Hallo,
folgendes Problem:
Ich lese eine Textdatei mit dem OleDBCommand ein, gehe dann mit dem Reader drüber und fülle dann ein Textfeld aus. Hier der Code, dann wirds verständlicher:
Sicherlich nicht sehr elegant. Bin für Hinweise offen.
Die Textdatei trennt die Spalten mit einem Semikolon. Das Problem ist nun, wenn ein Kundenname Anführungszeichen im Namen hat, wird der Name ab der Stelle abgeschnitten, wie kann ich das umgehen?
folgendes Problem:
Ich lese eine Textdatei mit dem OleDBCommand ein, gehe dann mit dem Reader drüber und fülle dann ein Textfeld aus. Hier der Code, dann wirds verständlicher:
VB.NET-Quellcode
- #Region "Verbindung auf Textdateien"
- Dim txtCon As OleDb.OleDbConnection
- Dim txtcmd As OleDb.OleDbCommand
- Dim reader As OleDb.OleDbDataReader
- Public Sub Main(ByVal Artikel As Boolean)
- Dim ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\192.168.XXX.XXX\XXXX\XXXX\;" & _
- "Extended Properties='text;HDR=Yes;FMT=Delimited';"
- ConnectToData(ConnectionString, Artikel)
- End Sub
- Private Sub ConnectToData(ByVal ConnectionString As String)
- 'MSSQL Verbindung mit der Datenbank herstellen
- txtCon = New OleDb.OleDbConnection(ConnectionString)
- 'Verbindung öffnen und ggf. abfangen
- Try
- 'Verbindung öffnen
- txtCon.Open()
- Dim txtKstrSQL As String = "SELECT * FROM [Kundenliste.txt]"
- txtcmd = New OleDb.OleDbCommand(txtKstrSQL, txtCon)
- 'Reader initialisieren
- reader = txtcmd.ExecuteReader
- 'Reader "liest" nun die Textdatei
- While reader.Read
- 'Wenn die 2. Spalte der Textdatei mit dem Text der Kundennummer übereinstimmt fülle KndName und PL aus
- If reader(1).ToString() = fldKndNr.Text Then
- fldKndName.Text = reader(2).ToString
- End If
- End While
- 'Verbindung schließen
- txtCon.Close()
- Catch ex As Exception
- MessageBox.Show("Kann keine Verbindung zur Textdatei herstellen. Ist die Datei vorhanden?")
- End Try
- End Sub
- #End Region
Sicherlich nicht sehr elegant. Bin für Hinweise offen.
Die Textdatei trennt die Spalten mit einem Semikolon. Das Problem ist nun, wenn ein Kundenname Anführungszeichen im Namen hat, wird der Name ab der Stelle abgeschnitten, wie kann ich das umgehen?