Announcement

Collapse
No announcement yet.

[c#] Listview aus Dataset befüllen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [c#] Listview aus Dataset befüllen

    Hallo Leute,

    Ich hoffe mir kann jemand helfen. Also ich mlchte einen Listview aus einem DatasSet befüllen. Das Listview soll in der ansicht Largeview sein. Deshalb brauch ich aus der Tabelle auch nur eine Spalte. Hab soweit auch schoneinmal was geschrieben hier der Code:


    Code:
        public partial class MainForm : Form
        {
            OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" +
                                                             "Data Source=C:\\Dokumente und Einstellungen\\Julian\\Eigene Dateien\\Visual Studio 2005\\Projects\\Adressbuch\\Adressbuch\\bin\\Debug\\Adressbuch.mdb");
            public MainForm()
            {
                InitializeComponent();
            }
    
            private void MainForm_Load(object sender, EventArgs e)
            {
                connection.Open();
    
                OleDbDataAdapter dataAdapter = new OleDbDataAdapter("SELECT Vorname, Nachname FROM Kontakte", connection);
    
                DataSet dataSet = new DataSet();
                dataAdapter.Fill(dataSet);
                DataTable table = dataSet.Tables["Kontakte"];
    
                for (int i = 0; i < table.Rows.Count; i++)
                {
                    DataRow drow = table.Rows[i];
    
                    // Only row that have not been deleted
                    if (drow.RowState != DataRowState.Deleted)
                    {
                        // Define the list items
                        ListViewItem lvi = new ListViewItem(drow["Vorname"].ToString());
                        //lvi.SubItems.Add(drow["title_id"].ToString());
                        //lvi.SubItems.Add(drow["price"].ToString());
                        //lvi.SubItems.Add(drow["pubdate"].ToString());
    
                        // Add the list items to the ListView
                        listView.Items.Add(lvi);
                    }
                }

    Wenn ich das so ausführe kommt leider die Exzeption:

    "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."


    Mit freundlichen Grüßen

    Xenonmaster

  • #2
    Hallo,

    da kann Dir niemand helfen; dafür musst Du zunächst selbst den Debugger sowie try-catch verwenden. Aus dem Code ist nicht erkennbar, bei welcher Zeile die Exception kommt; und es stehen nicht für alle verwendeten Variablen die Zuordnungen da.

    Zusätzliche Hinweise: Setze die DbConnection in einen using-Block; sie sollte immer nur solange existieren wie unbedingt erforderlich und nach Verwendung immer geschlossen werden (das fehlt bei Dir, wird aber bei using automatisch erledigt). Die erzeugte Tabelle heißt mit Sicherheit nicht "Kontakte", sondern "Table" oder "Table2", wie aus der SDK-Doku abzuleiten ist; wenn Du einen bestimmten Namen haben willst, musst Du ihn mit einer überladenen Version von Fill festlegen.

    Jürgen

    PS. Durch die zusätzlichen Hinweise habe ich erkannt, wo der Fehler höchstwahrscheinlich steckt; Du auch?

    Comment


    • #3
      [c#] Listview aus Dataset

      Hallo Jürgen,

      Danke für die schnelle Antwort. Durch deine Hinweise konnte ich den Fehler beheben. Es lag daran das dieTabelle im Dataset nicht "Kontakte" sondern "Table" heißt. Durch das abändern des Namens der Tabelle funktioniert der Code.

      Und wieder ein Stück schlauer geworden Danke für die Hilfe !!!!!

      Mit freundlichen Grüßen

      Xenonmaster

      Comment

      Working...
      X