整理一下,还是贴代码吧,呵呵~~
+++++++++++++database.h+++++++++++++++++
#ifndef DATABASE_H
#define DATABASE_H
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QObject>
#include <QMessageBox>
#include <QSqlError>
static bool createConnection()
{
    QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("database.dat");
    if(!db.open())
    {
        QMessageBox::warning(0,QObject::tr("Database Error"),db.lastError().text());
        return false;
    }
    QSqlQuery query;
    query.exec(QObject::tr("create table Test(id int primary key,content vchar)"));
    query.exec(QObject::tr("insert into Test values(1,'测试测试测试测试测试测试')"));
    return true;
}
#endif // DATABASE_H
++++++++++++++widget.h++++++++++++++++++
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QSqlTableModel>
#include <QDataWidgetMapper>
namespace Ui {
    class Widget;
}
class Widget : public QWidget
{
    Q_OBJECT
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
private:
    Ui::Widget *ui;
    QSqlTableModel *model;
    QDataWidgetMapper *mapper;
};
#endif // WIDGET_H
+++++++++++widget.cpp+++++++++++++
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QTextEdit>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    model=new QSqlTableModel(this);
    model->setTable("Test");
    model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
    model->setHeaderData(1,Qt::Horizontal,QObject::tr("内容"));
    model->select();
    ui->tableView->setModel(model);
    ui->tableView->resizeColumnsToContents();
    mapper=new QDataWidgetMapper(this);
    mapper->setModel(model);
    mapper->addMapping(ui->lineEdit,1);
    mapper->toFirst();
}
Widget::~Widget()
{
    delete ui;
}
++++++++++++main.cpp+++++++++++++++
#include <QtGui/QApplication>
#include "widget.h"
#include "database.h"
#include <QTextCodec>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    if(!createConnection())
        return 0;
    Widget w;
    w.show();
    return a.exec();
} 
