Laden...

C# - SQLITE Reader & Listview - Erste Spalte immer mit System.Data...

Erstellt von deluxe13 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.564 Views
D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 5 Jahren
C# - SQLITE Reader & Listview - Erste Spalte immer mit System.Data...

Hallo Ihr lieben,

ich habe das Problem, das wenn ich daten mit dem Reader von meiner SQLiTE hole die erste reihe immer mit System.Data.SQLITEREADER..... anfängt. hab es bisher so gelöst, das ich die spalte einfach auf 0 verkleinert habe und somit nicht mehr sichtbar war, nun möchte ich aber die spalten automtisch anpassen lassen.
Nun aber, ist es möglich diese zeile wegzulassen, oder warum wird diese überhaupt angezeigt, hat jemand eine Idee?, bei mir war es ebenso auch mit MYSQL da.

M
33 Beiträge seit 2012
vor 5 Jahren

Zeig mal deinen Code, ne vermutung habe ich schon, vor allem weil du anscheinend mit MYSQL genau das gleiche gemacht hast.

Falls fallend du vom Dach verschwandest, brems bevor du Unten landest.

D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 5 Jahren
 // Liste Vorbereitung 
            listView1.GridLines = true;
            listView1.View = View.Details;

            listView1.Columns.Add("nr", 0);
            listView1.Columns.Add("id", 0);
            listView1.Columns.Add("Plaka", 80);
            listView1.Columns.Add("Müsteri", 190);
            listView1.Columns.Add("Tel.:", 100);
            listView1.Columns.Add("Ceza Tarihi", 100);
            listView1.Columns.Add("Ceza Yeri", 200);
            listView1.Columns.Add("Ceza Tutari", 90);
            listView1.Columns.Add("Tutanak Seri No", 100);
            listView1.Columns.Add("Ödeyen", 100);
            listView1.Columns.Add("Teblig", 100);
            listView1.Columns.Add("Durum", 150);
            listView1.Columns.Add("Not", 190);



            listView1.Items.Clear(); // clear list items before adding 
 SQLiteConnection dbConnection = new SQLiteConnection("Data Source = SQLTutorial.sqlite; Version = 3;");

            dbConnection.Open();

            string sql = "SELECT * FROM Cezalar";
            SQLiteCommand command = new SQLiteCommand(sql, dbConnection);

            SQLiteDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                ListViewItem lv = new ListViewItem(reader.ToString());
                string a = Convert.ToString(reader.GetInt32(0));
                lv.SubItems.Add(a);
                lv.SubItems.Add(reader.GetString(1));
                lv.SubItems.Add(reader.GetString(2));
                lv.SubItems.Add(reader.GetString(3));
                lv.SubItems.Add(reader.GetString(4));
                lv.SubItems.Add(reader.GetString(5));
                lv.SubItems.Add(reader.GetString(6));
                lv.SubItems.Add(reader.GetString(7));
                lv.SubItems.Add(reader.GetString(8));
                lv.SubItems.Add(reader.GetString(9));
                lv.SubItems.Add(reader.GetString(10));
                lv.SubItems.Add(reader.GetString(11));


                listView1.Items.Add(lv);

            }
            reader.Close();
            command.Dispose();
            dbConnection.Close();

Beim der Spalte "nr" bekomme ich es 😦, deswegen habe ich jetzt einfach bei der listview eine zeile mehr eingefügt, damit ich wenigstens alles aus der DB auslesen kann..
?( 8o

4.939 Beiträge seit 2008
vor 5 Jahren

Du erzeugst ja auch mit reader.ToString() diesen String und übergibst ihn dann als 1. Spalte an das ListViewItem.

Entweder also dort den parameterlosen Konstruktor verwenden oder aber die Variable 'a' dort übergeben (also Zeilen tauschen).

D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 5 Jahren

Du erzeugst ja auch mit reader.ToString() diesen String und übergibst ihn dann als 1. Spalte an das ListViewItem.

Entweder also dort den parameterlosen Konstruktor verwenden oder aber die Variable 'a' dort übergeben (also Zeilen tauschen).

Vielen Dank!!
Warum mach ich auch sonen blödsinn 8o
Problem gelöst.

D
deluxe13 Themenstarter:in
32 Beiträge seit 2018
vor 5 Jahren

Hab jetzt die dort die variable "a" übergeben. Das funktioniert auch.
Aber wie könnte ich dort einen parameterlosen konstruktor verwenden?

ListViewItem lv = new ListViewItem();

So würde ich ja nur eine leere zeile weitergeben oder?

4.939 Beiträge seit 2008
vor 5 Jahren

Mit den anschließenden lv.SubItems.Add fügst du doch dann die Spaltenwerte hinzu.
Und mit lv.Text kannst du auch den Wert für die erste Hauptspalte setzen.
Und der Konstruktor mit dem Parameter macht intern auch nichts anderes (für die erste [Haupt]-Spalte).