Autor Beitrag
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Di 22.10.13 09:32 
Wie schon erwähnt, ich kann deine Programmiersprache nicht, aber so wie ich das sehe, machst du das sowieso doppelt. 1. Schreibst du alles in eine DataTable und 2. liest du zeilenweise diene csv-Datei. Auf eins von beiden müsstest du meines Erachtens verzichten können.
csharpfreak Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 22.10.13 10:34 
Ich hab Ralfs Prinizip noch nicht so verstanden, wie ich eine Row merke ohne es in die datatable zu schreiben.

Wäre es eigentlich möglich, mit meiner bisherigen Schleife irgendwie noch eine Schleife zu setzen, der dann alle Datensätze durchläuft und dann meine Schleife und immer die nächsten Datensätze prüft?
baumina
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 305
Erhaltene Danke: 61

Win 7
Delphi 10.2 Tokyo Enterprise
BeitragVerfasst: Di 22.10.13 10:58 
Also ich versuche mich mal deinen Quellcode zu korrigieren ... ohne Gewähr (ich kann C# nicht) :-)

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
string LetzteID = "";
while ((inputLine = sr.ReadLine()) != null)
                            {

                                //Werte der Zeilen werden in einen Array mithilfe des Trennzeichens ";" gespeichert
                                string[] inputValues = inputLine.Split(';');
                                string id = inputValues[0];


                                //die Schleife entfernt die Anführungszeichen für jedes Feld
                                for (int i = 0; i < inputValues.Length; i++)
                                {
                                    inputValues[i] = inputValues[i].TrimStart(' ''"');
                                    inputValues[i] = inputValues[i].TrimEnd('"');
                                }

                                if (LetzteID == inputValues[0])
                                {
                                  iPos++;
                                }  
                                else
                                {
                                  iPos = 1;
                                  LetzteID = inputValues[0];
                                }
                          

                                //stellt Verbindung auf
                                conn.Open();



                                //führt 2te Query aus
                                SqlCommand cmd2 = conn.CreateCommand();
                                cmd2.CommandText = queryPos;

                                //gibt die Rechnungs-Parameter an, die vom Programm angegeben worden sind
                                cmd2.Parameters.AddWithValue("@PosNr", iPos);
                                //cmd2.Parameters.AddWithValue("@AuftragsNr", AuftragsNr());
                                cmd2.Parameters.AddWithValue("@EAN", inputValues[1]);
                                cmd2.Parameters.AddWithValue("@Anzahl", inputValues[2]);
                                cmd2.Parameters.AddWithValue("@Datum", UnixTimestamp);

Für diesen Beitrag haben gedankt: csharpfreak
csharpfreak Threadstarter
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Di 22.10.13 12:28 
Vielen Dank euch allen, so simpel war es^^
Damit hast dubmir echt weitergeholfen^^