Wpis z mikrobloga

#programowanie #qt #cplusplus

void MainWindow::onpushButtonclicked()

{

mydb.exec("INSERT INTO personabcd VALUES (null , textEdit)");

}

błąd mydb was not declared in this scope

jak to poprawić, aby było dobrze

mam przycisk i pole tekstowe z nazwą textEdit, chcę po wciśnięciu przycisku, aby pobrało wartość z textEdit i wpisało to do bazy danych
  • 10
@matiit: no dobra, ale w jaki sposób tego dokonać

mam jeszcze coś takiego

MainWindow::MainWindow(QWidget *parent) :

QMainWindow(parent),

ui(new Ui::MainWindow)

{

ui->setupUi(this);

QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE");

mydb.setDatabaseName("C:/program1.sqlite");

if(!mydb.open())

ui->label->setText("Failed");

else

ui->label->setText("Open");

}
@trebeter: A no teraz - po drugim poście - to już co innego.

mydb masz jako zmienną lokalną w konstruktorze, a potem próbujesz się do tej zmiennej odwołać z innej metody - a tam tej zmiennej już nie ma.

W pliku *.h dodaj do klasy jako pole prywatne:

QSqlDatabase mydb;

potem w konstruktorze zmień:

QSqlDatabase mydb=QSqlDatabase::addDatabase("QSQLITE");

na:

mydb=QSqlDatabase::addDatabase("QSQLITE");
@vipe: poszło, ale nie dodało do bazy danych

problem pewnie leży tutaj: mydb.exec("INSERT INTO personabcd VALUES (null , textEdit)");

nie wiem jak dokładnie się odwołać do textEdit aby pobrało wartość