Hallo,
ich bin auf der Arbeit an einem Projekt, soweit funktioniert auch alles einwandfrei.
Allerdings wird im DataGridView nicht nach Zahlen bzw. Datum sortiert. Der Fehler ist klar, ich muss im DataSet in einen Integer bzw. DataTime umwandeln.
Das hat auch in der ersten Tabelle einwandfrei mit:
this.uebersicht_bearbeiten.uebersicht.AnzahlColumn.DataType = typeof(int);
this.uebersicht_bearbeiten.uebersicht.VonColumn.DataType = typeof(DateTime);
funktioniert, jedoch bei der zweiten Tabelle mit:
this.pruefmittelDataSet6.Pruefmittel.AnzahlColumn.DataType = typeof(int);
habe ich einen Fehler bekommen, allerdings nicht beim umwandeln sondern beim füllen der Tabelle danach!
also
sql_connect.loadDataview("Pruefmittel").Fill(this.pruefmittelDataSet6.Pruefmittel);
Die Fehlermeldung:
"Das Objekt des Typs "System.Int32" kann nicht in Typ "System.String" umgewandelt werden."
Ich hoffe, ihr könnt mir irgendwie helfen!
Vielen dank im vorraus,
Chrisi
Da steht doch was der Fehler ist:
Du versuchst einen Integerwert in eine Stringspalte einzufuegen.
be the hammer, not the nail!
Ja, das ist mir schon klar, aber ich habe doch in der DataGridView nicht die möglichkeit einen Datentyp anzugeben oder?
Das datagrid liest doch den datentyp der an die spalte gebundenen property aus.
Der Datentyp der Spalte in der SQL Tabelle ist ebenfalls vom Wert Integer, ich war auch der Meinung, dass dieses vom DataSet übernommen wird, aber es wird immerwieder versucht in einen String umzuwandeln.
Vielen dank schonmal, für die Antworten!
Weder das dgv noch das DataSet "wissen" was für Datentypen da vorhanden sind.
Es ist immer derjenige der befüllt dafür zuständig.
Wenn du also das DataSet befüllst wirst Du es geschafft haben das es eine String Spalte ist.
okay, aber lege ich den Datentyp mit
this.pruefmittelDataSet6.Pruefmittel.AnzahlColumn.DataType = typeof(Int32);
nicht schon fest?
Hallo, seltsam das du einen anderen Datentyp im DataSet als in der Datenbank selber hast. Ist das ein typ. DataSet oder nicht ? Falls nicht, übernimmst du zuerst das Schema der Datenbank
TableAdapter.FillSchema(DataSet, SchemaType.Source, "TabellenName");
??
Ich habs jetzt hingekriegt, in dem ich im DataSet-Designer den Typen auf Integer gesetzt habe, ich verstehe zwar nicht, wieso das funktioniert aber mit dem Quellcode der quasi das gleiche macht nicht.
Naja hauptsache es funktioniert!
Vielen danke für eure Hilfe!