Avatar billede sidenius Nybegynder
24. august 2008 - 13:23 Der er 6 kommentarer og
1 løsning

Listbox problem igen.

Jeg har nu fået hul igennem til min access database og kan hente data ind  i listbox'en via tryk på knapperne. Hvis jeg nu trykker på den første knap som er "Titel" får jeg hele listen i min listbox, men ville også gerne at jeg ku få kolonnen "Antal Min" der svarer til Titel'erne i min database ind og vises i listbox'en sammen med Titel ( Altså så Antal min står til højre for Titel ). Hvordan kan jeg gøre dette når min kode er fl.g : ?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;


namespace DatabaseEksempel
{
    public partial class Boxset : Form
    {
        public Boxset()
        {
            InitializeComponent();
        }

        private void btn_Click(object sender, EventArgs e)
        {

            lb.Items.Clear();
           
            OleDbConnection Myconnection = null;
            OleDbDataReader dbReader = null;

            Myconnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Lars\Dokumenter\Filmliste3.mdb");
            Myconnection.Open();

            OleDbCommand cmd = Myconnection.CreateCommand();
            cmd.CommandText = "SELECT * FROM Ark1";
            dbReader = cmd.ExecuteReader();

            string Titel;
           

            while (dbReader.Read())
            {

                Titel = dbReader.GetValue(3).ToString();
                lb.Items.Add(Titel);
                               
                             
            }

            dbReader.Close();
            Myconnection.Close();

        }

        private void button2_Click(object sender, EventArgs e)
        {
            lb.Items.Clear();
           
            OleDbConnection Myconnection = null;
            OleDbDataReader dbReader = null;

            Myconnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Lars\Dokumenter\Filmliste3.mdb");
            Myconnection.Open();

            OleDbCommand cmd = Myconnection.CreateCommand();
            cmd.CommandText = "SELECT * FROM Ark1";
            dbReader = cmd.ExecuteReader();

            string Titel;

            while (dbReader.Read())
            {

                Titel = dbReader.GetValue(6).ToString();
                lb.Items.Add(Titel);

            }

            dbReader.Close();
            Myconnection.Close();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            lb.Items.Clear();

            OleDbConnection Myconnection = null;
            OleDbDataReader dbReader = null;

            Myconnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Lars\Dokumenter\Filmliste3.mdb");
            Myconnection.Open();

            OleDbCommand cmd = Myconnection.CreateCommand();
            cmd.CommandText = "SELECT * FROM Ark1";
            dbReader = cmd.ExecuteReader();

            string Titel;

            while (dbReader.Read())
            {

                Titel = dbReader.GetValue(15).ToString();
                lb.Items.Add(Titel);

            }

            dbReader.Close();
            Myconnection.Close();

        }

        private void button3_Click(object sender, EventArgs e)
        {
            lb.Items.Clear();

            OleDbConnection Myconnection = null;
            OleDbDataReader dbReader = null;

            Myconnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Lars\Dokumenter\Filmliste3.mdb");
            Myconnection.Open();

            OleDbCommand cmd = Myconnection.CreateCommand();
            cmd.CommandText = "SELECT * FROM Ark1";
            dbReader = cmd.ExecuteReader();

            string Titel;

            while (dbReader.Read())
            {

                Titel = dbReader.GetValue(12).ToString();
                lb.Items.Add(Titel);

            }

            dbReader.Close();
            Myconnection.Close();


        }

       
    }
}
Avatar billede Syska Mester
25. august 2008 - 10:24 #1
Titel = dbReader.GetValue(12).ToString() + " - Min: " + dbReader.GetValue(10).ToString();
lb.Items.Add(Titel);

Så skal du bare rette 10 til hvad kolonne nummer din "Antal min" nu har ...

// ouT
Avatar billede Syska Mester
25. august 2008 - 10:36 #2
ohhh, du kan selvf også smide en kolonne mere ind på din listbox ... sådan at det kommer til at stå som i databasen ... så bare med 2 kolonner i stedet for de ca. 13 det lader til at du mindst har ...

// ouT
Avatar billede sidenius Nybegynder
25. august 2008 - 12:26 #3
Takker, jeg prøvede det 1. forslag . Hvordan vil koden se ud hvis man skal bruge den anden mulighed ?
Avatar billede Syska Mester
25. august 2008 - 13:27 #4
Ups, var ListView jeg kom til at tænke på ... men den kan sættes til:
listView1.View = View.Details;
og så kan du have flere kolonner, men hver deres header.

// ouT
Avatar billede Syska Mester
25. august 2008 - 13:27 #5
svar, hvis det første løste dit problem.
Avatar billede sidenius Nybegynder
25. august 2008 - 14:08 #6
jeg ved ikke hvor jeg skal indsætte listview - linien og hvad der ellers skal tilføjes til koden
Avatar billede Syska Mester
25. august 2008 - 20:12 #7
Den skal tilføjes på samme måde som din ListBox
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester