Alex Großmann
Erfahrenes Mitglied
Danke, das sieht eleganter aus, aber ich muss erstmal schauen ob das mit SQLite auch drin ist ![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
//.. Designer Code abgeschnitten
private: System::Void btn_csv_Click(System::Object^ sender, System::EventArgs^ e) {
//OpenFileDialog Konfigurieren
ofd_csv->Filter = "XLS Datei (*xls)|*.xls|CSV Datei (*csv)|*.csv|Alle Datein(*.*)|*.*";
ofd_csv->FilterIndex = 1;
ofd_csv->RestoreDirectory = true;
ofd_csv->ShowDialog();
//FileStream & StreamReader anlegen
FileStream^ fs = nullptr;
StreamReader^ sr = nullptr;
try
{
fs = gcnew FileStream(ofd_csv->FileName, FileMode::Open);
sr =gcnew StreamReader(fs);
String^ str;
sr->ReadLine();
while ( sr->Peek() > -1 ) // Lesen bis das Dokument zuende ist
{
str = sr->ReadLine();
array<String^>^ zeile = str->Split(';'); //Ergibt einen Fehler das die Typumwandlung nicht möglich ist
tb->Text = zeile;
}
}
catch (Exception ^e)
{
tb->Text = e->Message;
}
finally
{
if (sr)
{
sr->Close();
}
}
}
};
}
while ( sr->Peek() > -1 )
{
str = sr->ReadLine();
array<String^>^ zeile = str->Split(';');
tb->Text = zeile;
}
while((str = sr->ReadLine()) != nullptr)
{
array<String^>^ zeile = str->Split(';');
tb->Text = zeile;
}
Name ; Name2 ; Straße ; Ort
Was machst du?Im Array würde jetzt an stelle 0 ( zeile[0] ) ALLE Namen stehen, an Stelle 1 alle "Namen2", Stelle 3 alle Straßen und Stelle 4 alle Orte. Zumindestens gibts es das so schon einmal aus...
Wenn eine Spalte nicht eingetragen ist bleibt ja trotzdem ein Leerbereich zwischen ;Und vorallem, kann es ja sein das z.B. wenn ein Bundesland in der CSV als Spalte stände, es aber bei manchen Nutzern nicht eingetragen ist, das alles nicht mehr Stimmt?!
(...) = "INSERT INTO Kunde (name) VALUES ( ' "+informationen[0]+ " ' )";
Du verwendest ein falsches Encoding. Woher kommen denn die Dateien?zum einen können keine Umlaute aufgenommen werden? Da sind im DataGridView und in der Datenbank dann nur so Vierecke mit einem Fragezeichen drinnen...?
Siehe Beitrag #10 von sheel wie man es machen sollte.Ich mache ja ein INSERT INTO Befehl, der so aufgebaut ist:
In Informationen Feld 0 steht eben der Name.Code:(...) = "INSERT INTO Kunde (name) VALUES ( ' "+informationen[0]+ " ' )";
Nun ist das Problem, das die Apostrophe im Values teil da sein müssen, nun hab ich da einen Namen welcher ein Apostroph in der Mitte hat...die Datenbank geht bis dahin, und der restliche Teil vom Namen wird dann als unbekannter Code gewertet, und mir schmiert das ganze Programm mit einer Exception ab -.-