Hallo,
ich würde mir gerne selber eine DataTable erstellen. Leider hab ich keine Ahnugn, wie ich das anstellen soll.
Ich bin schon eine Weile am rumprobieren... leider ohne erfolg.
DataTable DateTimeTable = new DataTable("Date/Time Table");
DataRow row;
row = DateTimeTable.NewRow();
Sache ich folgendes:
Ich habe eine *.log Datei welche ich gerne in eine DataTable einlesen würde. Die log Datei hat folgenden Aufbau:
2007-10-16T11:19:34.0220193Z | UTC | Information | <n.a.> | SCHD | Load scheduler [Check Endorsement Duration Scheduler]
Jetzt habe ich schon jeden Teil der Zwischen | ... | steht extrahiert. Nun würde ich mir gerne so eine DataTable zusammenbauen.
Geht das evtl. sogar einfacher?
Wenn ihr irgendwelche "Denkanstöße" hättet wäre ich euch dankbar.
MFG mipa_acc
Hallo mipa_acc
Hier ein Beispiel für die DataTable
DataTable dt = new DataTable();
dt.Columns.Add("Timestamp", typeof(DateTime));
dt.Columns.Add("Information", typeof(string));
foreach (zeile myZeile in file)
{
DataRow dr = dt.NewRow();
dr["Timestamp"] = myZeile.Timestamp;
dr["Information"] = myZeile.Information;
dt.Rows.Add(dr);
}
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
Hi Oxygen,
danke für deine Antwort!
Ich werde mir die Sache dann mal näher ansehen.
MFG
Hi,
eine Frage hab ich noch, und zwar wie bekomme ich die Table dann in den DataAdapter?
//DataTable mit Inhalt füttern
DataTable dt = new DataTable();
dt.Columns.Add("Date/Time", typeof(string));
dt.Columns.Add("TimeZone", typeof(string));
DataRow dr = dt.NewRow();
string[] LogDetail = new string[6];
LogDetail = CurrentSplitt[0].Split('|');
dr["Date/Time"] = LogDetail[0];
dr["TimeZone"] = LogDetail[1];
dt.Rows.Add(dr);
DataSet ds = new DataSet("TestDataSet");
//Ka warum das hier net geht
ds.Load(........);
DataAdapter da = new DataAdapter();
da.Fill(ds);
Für s.Lead() brauche ich ja irgend eine Klasse die IDataReader hat. Hab ich aber leider nicht.
Oder denke ich hier falsch?
MFG
Das geht nicht, es muss eine Tabelle die den Strukturen entspricht bereits vorhanden sein. Dann brauchst du aber auch nicht die Struktur manuell erzeugen sondern holst sie aus der Datenbank.
Einzig wenn du sie als XML speicherst ist das der richtige weg.
lg
LG
"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein
Hallo mipa_acc
Ist nicht ganz so einfach. Schau mal in der Hilfe nach OdbcDataAdapter.Update
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
... oder schau mal hier:
http://www.mycsharp.de/wbb2/thread.php?threadid=45415
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
Hallo Mipa,
gehe folgernmaßen vor :
Lege in einer Datenbank (z.B. MS SQL Express oder MS SQL Compact) eine Tabelle an. Benutze dazu das Tool SQL Management Studio Express.
Erstelle DataSet, DataAdapter und Connection.
Mit ds.Fill holst Du dir die leere Tabelle mit Struktur ins Dataset
Mit NewRow bzw. Rows.Add fügst Du die Zeilen hinzu die Du aus der externen Datei gelesen hast.
Mit ds.Update schreibst Du die Zeilen in die Datenbank.
Benutze KEIN ODBC und KEIN OleDB !
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Hallo,
wie es mit einer Datenbank funktioniert weiß ich.
Mein Problem ist nur, dass ich ein Programm erstellen muss, welches mir Log Dateien von anderen Programmen ausließt. Die Log Dateien haben alle das selbe format.
Wie bekomme ich die log Dateien irgendwie in ein DataGridView indem ich DataBinding benutze. Das ist meine Frage.
Vielen Dank im Vorraus.
MFG
Hallo mipa_acc
???
Du hast doch schon deine DataTable. Einfach:
myDataGridView.DataSource = myDataTable;
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
Danke für deine Antwort!
Die DataTable ist aber leer. Ich würde da ja gerne irgendwie den Inhalt der Log Dateien in die DataTable holen. Das ist das was ich nicht weiß.
MFG
Ich würde da ja gerne irgendwie den Inhalt der Log Dateien in die DataTable holen
Steht doch schon in dem Code in Deinem Posting von 14:11 Uhr.
Mit
dr["TimeZone"] = LogDetail[1];
schreibst Du eine Spalte aus einer externen Datei in die Tabellenspalte "TimeZone".
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3