Seite 1 von 1

[gelöst]Qt4+QTableWidget: Seqmentation fault (139)

Verfasst: 14. Oktober 2007 21:57
von -marcelp-
Hallo zusammen,

muss mich noch mal zu einem früheren Problem melden.
Ich schreibe eine Datenbank-Anwendung mit Qt4.3.0 und KDevelop3.4.0 auf Kubuntu.
Editiere ich eine QTableWidget-Zelle, wird eine Funktion aufgerufen um die Änderung wieder in meine MySQL-Datenbank zu schreiben:

query.exec("insert artikel set art_nr='" + tblLall->item(row,1)->text()
+ "',art_bez='" + tblLall->item(row,2)->text()
+ "',art_ek=" + tblLall->item(row,3)->text()
+ ",art_vk=" + tblLall->item(row,4)->text()
+ ",art_soll=" + tblLall->item(row,7)->text()
+ ",art_vpe=" + tblLall->item(row,8 )->text()
+ ",art_ist=0,art_res=0");

An dieser Stelle stürzt mein Programm ab und ich bekomme die Meldung

Segmentation fault (core dumped)
*** Exited with Status: 139 ***

Ich habe keinen Plan von Debuggermeldungen, der hängt aber in qtablewidget.h hier:

...
inline QString text() const
---> { return data(Qt::DisplayRole).toString(); }
inline void setText(const QString &text);
...

Was ist falsch?

Mfg, Marcel

Verfasst: 15. Oktober 2007 07:01
von Christian81
Etwas mehr Code - ggf. ist eine Variable nicht initialisiert. Bzw. tblLall->item(row,x) bringt NULL zurück.

Verfasst: 15. Oktober 2007 13:09
von -marcelp-
Danke - das war der entscheidende Hinweis.

Um einen neuen Datensatz anlegen zu können, habe ich meiner Tabelle einfach eine leere Zeile angehängt. Die war allerdings ohne WidgetItems angelegt... :?

Danke für die schnelle Hilfe, Marcel