嵌入式数据库应用程序设计(四)——程序设计

版权声明:未经允许,不得转载 https://blog.csdn.net/frozennet/article/details/88382052

嵌入式数据库应用程序设计(四)——程序设计

本篇涉及的函数,主要用于数据库表中记录的修改

1、数据库表为TABLE_Basic

EditRecord.h

#ifndef EDITRECORDDLG_H
#define EDITRECORDDLG_H

#include <QtGui>

class EditRecordDlg : public QDialog
{
	Q_OBJECT
public:
	EditRecordDlg(QWidget *parent = 0);

	public slots:
	void okClicked();
	void cancleClicked();

private:
	QLabel *idLabel;
	QLabel *nameLabel;
	QLabel *sexLabel;
	QLabel *birthLabel;
	QLabel *salaryLabel;
	//QLabel *producerLabel;
	//QLabel *priceLabel;

	QLineEdit *idEdit;
	QLineEdit *nameEdit;
	QLineEdit *sexEdit;
	QLineEdit *birthEdit;
	QLineEdit *salaryEdit;
	//QLineEdit *producerEdit;
	//QLineEdit *priceEdit;

	QPushButton *okButton;
	QPushButton *cancleButton;
};

#endif 

EditRecord.cpp

#include "EditRecord.h"
extern bool ok_flag;
//extern char edit_id[10];
//extern char edit_name[20];
//extern char edit_producer[20];
//extern int  edit_price;

extern char Person_ID[10];
extern char Name[10];
extern char Sex[20];
extern char Birth[15];
extern int Salary;



EditRecordDlg::EditRecordDlg(QWidget *parent)
	: QDialog(parent) {
	setWindowTitle(tr("Edit a record"));

	//EditRecordDlg界面的设置
	idLabel = new QLabel(tr("ID:"));
	idEdit = new QLineEdit;
	idEdit->setText(Person_ID);
	idEdit->setEnabled(true);

	
	nameLabel = new QLabel(tr("name:"));
	nameEdit = new QLineEdit;
	nameEdit->setText(Name);
	nameEdit->setEnabled(true);

	sexLabel = new QLabel(tr("sex:"));
	sexEdit = new QLineEdit;
	sexEdit->setText(Sex);
	sexEdit->setEnabled(true);

	birthLabel = new QLabel(tr("birth:"));
	birthEdit = new QLineEdit;
	birthEdit->setText(Birth);
	birthEdit->setEnabled(true);

	
	//producerLabel = new QLabel(tr("producer:"));
	//producerEdit = new QLineEdit;
	//producerEdit->setText(edit_producer);
	//producerEdit->setEnabled(true);

	salaryLabel = new QLabel(tr("salay:"));
	salaryEdit = new QLineEdit;
	char s[10]; memset(s, 0, 10);
	sprintf(s, "%d", Salary);
	salaryEdit->setText(s);
	salaryEdit->setEnabled(true);


	//priceLabel = new QLabel(tr("price:"));
	//priceEdit = new QLineEdit;
	//char s[10]; memset(s, 0, 10);
	//sprintf(s, "%d", edit_price);
	//priceEdit->setText(s);
	//priceEdit->setEnabled(true);

	//确认按钮
	okButton = new QPushButton(tr("OK"));
	//取消按钮	
	cancleButton = new QPushButton(tr("Cancle"));

	connect(okButton, SIGNAL(clicked()), this, SLOT(okClicked()));
	connect(cancleButton, SIGNAL(clicked()), this, SLOT(cancleClicked()));

	//为各个部件设置位置
	QGridLayout *left = new QGridLayout;

	left->addWidget(idLabel, 0, 0);
	left->addWidget(idEdit, 0, 1);
	left->addWidget(nameLabel, 1, 0);
	left->addWidget(nameEdit, 1, 1);
	left->addWidget(sexLabel, 2, 0);
	left->addWidget(sexEdit, 2, 1);
	left->addWidget(birthLabel, 3, 0);
	left->addWidget(birthEdit, 3, 1);
	left->addWidget(salaryLabel, 4, 0);
	left->addWidget(salaryEdit, 4, 1);

	QVBoxLayout *right = new QVBoxLayout;

	right->addWidget(okButton);
	right->addWidget(cancleButton);

	QHBoxLayout *mainlayout = new QHBoxLayout(this);
	mainlayout->addLayout(left);
	mainlayout->addLayout(right);
}

//为各个数据库表中的属性(列)赋值
void EditRecordDlg::okClicked()
{
	ok_flag = 1;
	memset(Person_ID, 0, sizeof(Person_ID));
	memset(Name, 0, sizeof(Name));
	memset(Sex, 0, sizeof(Sex));
	memset(Birth, 0, sizeof(Birth));
	Salary = 0;
	sprintf(Person_ID, "%s", ((idEdit->text()).toLatin1()).data());
	sprintf(Name, "%s", ((nameEdit->text()).toLatin1()).data());
	sprintf(Sex, "%s", ((sexEdit->text()).toLatin1()).data());
	sprintf(Birth, "%s", ((birthEdit->text()).toLatin1()).data());
	Salary = (salaryEdit->text()).toInt();

	close();
}

void EditRecordDlg::cancleClicked()
{
	close();
}

1、数据库表为TABLE_Speciality

EditRecord_Speciality.h

#ifndef EDITRECORDDLG_SPECIALITY_H
#define EDITRECORDDLG_SPECIALITY_H

#include <QtGui>

class EditRecordDlg_speciality : public QDialog
{
        Q_OBJECT
public:
        EditRecordDlg_speciality(QWidget *parent = 0);

        public slots:
        void okClicked();
        void cancleClicked();

private:
        QLabel *idLabel;
        QLabel *specialityLabel;
        QLabel *technicalLabel;
        QLabel *englishLabel;
        QLabel *yearLabel;

        QLineEdit *idEdit;
        QLineEdit *specialityEdit;
        QLineEdit *technicalEdit;
        QLineEdit *englishEdit;
        QLineEdit *yearEdit;

        QPushButton *okButton;
        QPushButton *cancleButton;
};

#endif 

EditRecord_Speciality.cpp

#include "EditRecord_Speciality.h"
extern bool ok_flag;

extern char Person_ID[10];
extern char Speciality[10];
extern char TechnicalTitle[10];
extern char EnglishLevel[10];
extern int SpecialityYear;


EditRecordDlg_speciality::EditRecordDlg_speciality(QWidget *parent)
        : QDialog(parent) {
        setWindowTitle(tr("Edit a record"));

        idLabel = new QLabel(tr("Person_ID:"));
        idEdit = new QLineEdit;
        idEdit->setText(Person_ID);
        idEdit->setEnabled(true);

        specialityLabel = new QLabel(tr("Speciality:"));
        specialityEdit = new QLineEdit;
        specialityEdit->setText(Speciality);
        specialityEdit->setEnabled(true);

        technicalLabel = new QLabel(tr("Technical:"));
        technicalEdit = new QLineEdit;
        technicalEdit->setText(TechnicalTitle);
        technicalEdit->setEnabled(true);

        englishLabel = new QLabel(tr("English Level:"));
        englishEdit = new QLineEdit;
        englishEdit->setText(EnglishLevel);
        englishEdit->setEnabled(true);

        yearLabel = new QLabel(tr("Speciality Year:"));
        yearEdit = new QLineEdit;
        char s[10]; memset(s, 0, 10);
        sprintf(s, "%d", SpecialityYear);
        yearEdit->setText(s);
        yearEdit->setEnabled(true);


        //确认按钮
        okButton = new QPushButton(tr("OK"));
        //取消按钮
        cancleButton = new QPushButton(tr("Cancle"));

        connect(okButton, SIGNAL(clicked()), this, SLOT(okClicked()));
        connect(cancleButton, SIGNAL(clicked()), this, SLOT(cancleClicked()));

        //为各个部件设置位置
        QGridLayout *left = new QGridLayout;

        left->addWidget(idLabel, 0, 0);
        left->addWidget(idEdit, 0, 1);
        left->addWidget(specialityLabel, 1, 0);
        left->addWidget(specialityEdit, 1, 1);
        left->addWidget(technicalLabel, 2, 0);
        left->addWidget(technicalEdit, 2, 1);
        left->addWidget(englishLabel, 3, 0);
        left->addWidget(englishEdit, 3, 1);
        left->addWidget(yearLabel, 4, 0);
        left->addWidget(yearEdit, 4, 1);

        QVBoxLayout *right = new QVBoxLayout;

        right->addWidget(okButton);
        right->addWidget(cancleButton);

        QHBoxLayout *mainlayout = new QHBoxLayout(this);
        mainlayout->addLayout(left);
        mainlayout->addLayout(right);
}

void EditRecordDlg_speciality::okClicked()
{
        ok_flag = 1;
        memset(Person_ID, 0, sizeof(Person_ID));
        memset(Speciality, 0, sizeof(Speciality));
        memset(TechnicalTitle, 0, sizeof(TechnicalTitle));
        memset(EnglishLevel, 0, sizeof(EnglishLevel));
        SpecialityYear = 0;
        sprintf(Person_ID, "%s", ((idEdit->text()).toLatin1()).data());
        sprintf(Speciality, "%s", ((specialityEdit->text()).toLatin1()).data());
        sprintf(TechnicalTitle, "%s", ((technicalEdit->text()).toLatin1()).data());
        sprintf(EnglishLevel, "%s", ((englishEdit->text()).toLatin1()).data());
        SpecialityYear = (yearEdit->text()).toInt();

        close();
}

void EditRecordDlg_speciality::cancleClicked()
{
        close();
}

猜你喜欢

转载自blog.csdn.net/frozennet/article/details/88382052
今日推荐