最近在做一个Linux下的项目,是网吧收费系统,图形界面是用Qt4来做的,数据库用sqlite3,现在遇到了一些问题,由于涉及到了用户的登入和注册,有关用户的信息都存在数据库里,数据库中有张表叫users,create table users(uid integer primary key, uname text, passwd varchar(16),balance float);我想在用户界面登入时能访问表中的uid,不是uid中的数据就不让登入,需要注册,注册后能自动的在users表中添加用户信息。可是不知道要怎么做,因为是自学的Qt4,不知道要怎么处理,急需各路高手出谋划策,小弟感激不尽!
{
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("NetBar.db");
bool ok=db.open();
if(!ok)
{
QMessageBox::critical(this,tr("Error"),tr("Can't open database: NetBar.db"));
}
else
{
/*if(m_ui->userline->text()==""||m_ui->passwdline->text()=="")
{
QMessageBox::information(this,tr("登入错误"),tr("用户名或者密码不能为空!"));
m_ui->userline->clear();
m_ui->passwdline->clear();
m_ui->userline->setFocus();
}*/
QSqlQuery query;
if(query.exec("select passwd from users where uname='"+m_ui->userline->text()+"'"))
{
query.next();
if(m_ui->passwdline->text()!=query.value(0).toString())
{
QMessageBox::information(this,tr("登陆失败"),tr("请输入正确的用户名与密码!"));
m_ui->userline->clear();
m_ui->passwdline->clear();
m_ui->userline->setFocus();
}
sqlite3不是网络数据库,多用户连接sqlite是不可以的!你可以采用mysql来做后台支持数据库,这样多用户读写就没有问题,数据库又可以集中管理。
请问,你知道Linux下的QT程序如何发布吗?
静态编译还是交叉编译?
做这样的系统,不建议使用SQLite这样的数据库,建议使用SQLServer.