Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Abfrage mit Dapper aber DataGridView bleibt leer
NEUMee
myCSharp.de - Member



Dabei seit:
Beiträge: 26
Herkunft: Dresden

Themenstarter:

Abfrage mit Dapper aber DataGridView bleibt leer

beantworten | zitieren | melden

verwendetes Datenbanksystem: <IBM DB2>

Hallo zusammen,

ich habe das Problem, dass mein DataGridView nach Abfrage auf das DBMS leer bleibt.

Also, die Anzahl der DataGridView Rows stimmt, aber die Werte in den Spalten des DataGridViews bleiben bei Strings leer und bei numerischen Werten 0.

Für mich heißt das, dass die zurückgelieferte List<ErpData> nicht leer ist, weil ja die korrekte Anzahl der Datensätze angezeigt werden, nur die Daten eben nicht.

Ich weiß jetzt nicht, woran das liegt. Könnt ihr mir einen Tipp geben?


namespace Projektname.Models
{
    public class ErpData
    {
        public int Id { get; set; }
        public string Auftrag { get; set; }
        public string Pos { get; set; }
        public string Artikel { get; set; }
        public string Material { get; set; }
        public string Kategorie { get; set; }
        public Single Menge1 { get; set; }
        public Single Menge2 { get; set; }
    }
}


public IList<ErpData> GetErpDataByOrder()
{
            string qryErpData = "SELECT bla FROM blubb WHERE Auftragsnummer =  @paramId";
            System.Diagnostics.Debug.Print("QUERY: " + qryErpData);

            using (IDbConnection db = new iDB2Connection(ConfigurationManager.ConnectionStrings["csAs400"].ConnectionString))
            {
                if (db.State == ConnectionState.Closed)
                {
                    db.Open();
                    return db.Query<ErpData>(qryErpData, new { paramId = textBoxSpool.Text }).ToList();
                }
            }

            return null;
        }


private void button1_Click(object sender, EventArgs e)
{
    dataGridView1.DataSource = GetErpDataByOrder();
}
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

Hi,

nach deinen Schilderungen ist davon auszugehen, dass die Daten zumindest ankommen.

Dementsprechend musst du nun die Einstellungen deines DataGridViews kontrollieren.

Zum einen gibt es einen Modus, in welchem automatisch Columns erstellt werden, zum anderen kann man das manuell machen und muss entsprechend die Bindungseinstellungen festlegen.

Was davon hast du wie getan?

LG
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15690
Herkunft: BW

beantworten | zitieren | melden

Bedenke, dass Du hier gerade eine Schichtverletzung hast:
Dein Modell wird 1:1 von Datenbank, durch die Business-Schicht in die UI geschubst - und Du hast Datenbank-Code in Deiner UI.
Darüber hinaus übergibst Du ein UI Element direkt an eine Datenbank-Abfrage.
Modularität hast Du damit von Beginn an ausgeschlossen ;-)

Eigentlich ist da schon vorprogrammiert, dass das knrischen wird ;-)
[Artikel] Drei-Schichten-Architektur

PS: Wenn man mit Listen arbeitet gibt man eine leere Liste bei keinen Treffern zurück, und nicht null.
private Nachricht | Beiträge des Benutzers
NEUMee
myCSharp.de - Member



Dabei seit:
Beiträge: 26
Herkunft: Dresden

Themenstarter:

beantworten | zitieren | melden

Hallo, ich habe alles automatisch (Standard) gelassen. Die Spaltennamen werden ja auch analog meines ORM generiert.
private Nachricht | Beiträge des Benutzers
pinki
myCSharp.de - Member

Avatar #avatar-4072.jpg


Dabei seit:
Beiträge: 695
Herkunft: OWL

beantworten | zitieren | melden

Was sagt denn der Debugger, was in den zurückgegebenen Objekten steht?
private Nachricht | Beiträge des Benutzers
NEUMee
myCSharp.de - Member



Dabei seit:
Beiträge: 26
Herkunft: Dresden

Themenstarter:

beantworten | zitieren | melden

Bei string Values: null
Bei Numerischen WErten: 0
private Nachricht | Beiträge des Benutzers
NEUMee
myCSharp.de - Member



Dabei seit:
Beiträge: 26
Herkunft: Dresden

Themenstarter:

beantworten | zitieren | melden

Also am DGV liegts wahrscheinlich nicht.
Wenn ich die Liste durchgehe und ausgeben lasse, erhalte ich ebenfalls leere Strings und Nullen bei numerischen Werten.
private Nachricht | Beiträge des Benutzers
Yeats
myCSharp.de - Member



Dabei seit:
Beiträge: 97
Herkunft: Österreich

beantworten | zitieren | melden

Hallo,
Stimmen die Namen deiner Properties mit den Namen der Spalten in der Tabelle überein?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15690
Herkunft: BW

beantworten | zitieren | melden

Zitat von NEUMee
Wenn ich die Liste durchgehe und ausgeben lasse, erhalte ich ebenfalls leere Strings und Nullen bei numerischen Werten.

Spricht alles dafür, dass die Tabellenrückgabe nicht Deinem Modell entspricht und damit nichts gemappt werden kann.
private Nachricht | Beiträge des Benutzers
NEUMee
myCSharp.de - Member



Dabei seit:
Beiträge: 26
Herkunft: Dresden

Themenstarter:

beantworten | zitieren | melden

Aber ich habe die Datentypen nochmal mit denen der Datenbank abgeglichen und kann keine Unstimmigkeiten finden
private Nachricht | Beiträge des Benutzers
pinki
myCSharp.de - Member

Avatar #avatar-4072.jpg


Dabei seit:
Beiträge: 695
Herkunft: OWL

beantworten | zitieren | melden

Stimmt denn auch die Benennung 1:1?
private Nachricht | Beiträge des Benutzers
NEUMee
myCSharp.de - Member



Dabei seit:
Beiträge: 26
Herkunft: Dresden

Themenstarter:

beantworten | zitieren | melden

Oh man ...

Entschuldigt bitte, dass ich eure Zeit geraubt habe. Das Problem ist gelöst. Natürlich hatte sich ein Fehler bei der Spaltenbenennung eingeschlichen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von NEUMee am .
private Nachricht | Beiträge des Benutzers