/*
* SqlCommand.cpp
*
* Created on: 2009-8-24
* Author: Administrator
*/
#include "SqlCommand.h"
#include "GlobalDefine.h"
SqlCommand::SqlCommand(QObject *parent) :
QObject(parent)
{
qRegisterMetaType<MANAGEINFO> ("MANAGEINFO");
// TODO Auto-generated constructor stub
}
SqlCommand::~SqlCommand()
{
// TODO Auto-generated destructor stub
}
////////////////////////////////////////////////////////////////////
//////////////////////////////////BOOKMANAGE////////////////////////
////////////////////////////////////////////////////////////////////
void SqlCommand::RecvBookInfo(QDataStream &in, MANAGEINFO &recvInfo)
{
BOOKINFO bookInfo;
switch (recvInfo.dwSubType)
{
case BOOK_ADD:
GetBookInfo(in, bookInfo);
BookAddInfo(bookInfo);
break;
case BOOK_DELETE:
GetBookInfo(in, bookInfo);
BookDelInfo(bookInfo);
break;
case BOOK_LIST:
BookListInfo(bookInfo);
break;
case BOOK_QUERY:
GetBookInfo(in, bookInfo);
BookQueryInfo(bookInfo);
break;
case BOOK_RESPONSE:
BookResponse();
break;
case BOOK_UPDATE:
GetBookInfo(in, bookInfo);
BookUpdateInfo(bookInfo);
break;
default:
return;
}
}
void SqlCommand::GetBookInfo(QDataStream &in, BOOKINFO &bookInfo)
{
in >> bookInfo.sID;
in >> bookInfo.sName;
in >> bookInfo.sAuthor;
in >> bookInfo.sType;
in >> bookInfo.sPress;
in >> bookInfo.sPressDate;
in >> bookInfo.dwPageNum;
in >> bookInfo.fPrice;
in >> bookInfo.sAddDate;
in >> bookInfo.dwLendTimes;
in >> bookInfo.dwStatus;
}
void SqlCommand::BookAddInfo(BOOKINFO &bookInfo)
{
QString sSql;
MANAGEINFO tmpInfo;
BOOKLOGINFO bookLogInfo;
sSql = "SELECT name, author, type, press, "
"pressdate, pagenum, price, adddate, lendtimes, "
"status, bookID FROM tbl_book WHERE bookID = '" + bookInfo.sID + "'";
if (!IsExist(sSql))
{
sSql = "INSERT INTO tbl_book(name, author, type, press, "
"pressdate, pagenum, price, adddate, lendtimes, "
"status, bookID) VALUES('" + bookInfo.sName + "','"
+ bookInfo.sAuthor + "','" + bookInfo.sType + "','"
+ bookInfo.sPress + "','" + bookInfo.sPressDate + "','"
+ QString("%1").arg(bookInfo.dwPageNum) + "','"
+ QString("%1").arg(bookInfo.fPrice) + "','"
+ bookInfo.sAddDate + "','" + QString("%1").arg(
bookInfo.dwLendTimes) + "','" + QString("%1").arg(
bookInfo.dwStatus) + "','" + bookInfo.sID + "')";
bookLogInfo.sBookID = bookInfo.sID;
bookLogInfo.sBookName = bookInfo.sName;
bookLogInfo.dwOperation = BOOK_ADD;
bookLogInfo.sType = bookInfo.sType;
bookLogInfo.sIP = gUserLogInfo.sIP;
bookLogInfo.sOperator = gUserLogInfo.sOperator;
bookLogInfo.sDateTime = dateTime.currentDateTime().toString(DATETIME);
if (ExcuteSqlCmd(sSql))
{
bookLogInfo.dwResult = SUCCESS;
bookLogInfo.sDescription = tr("Add book<<") + bookInfo.sName + tr(
">>successfully!");
}
else
{
bookLogInfo.dwResult = FAILURE;
bookLogInfo.sDescription = tr("DB ERROR");
}
}
else
{
bookLogInfo.dwResult = FAILURE;
bookLogInfo.sDescription = tr("Book<<") + bookInfo.sID + tr(
">>have exist");
}
ExcuteBookLogAdd(bookLogInfo);
tmpInfo.dwType = RESULT;
tmpInfo.dwSubType = BOOK;
tmpInfo.bookLogInfo = bookLogInfo;
Information(tmpInfo);
}
void SqlCommand::BookDelInfo(BOOKINFO &bookInfo)
{
MANAGEINFO tmpInfo;
BOOKLOGINFO bookLogInfo;
QString sSql;
bookLogInfo.sBookID = bookInfo.sID;
bookLogInfo.sBookName = bookInfo.sName;
bookLogInfo.dwOperation = BOOK_DELETE;
bookLogInfo.sType = bookInfo.sType;
bookLogInfo.sIP = gUserLogInfo.sIP;
bookLogInfo.sOperator = gUserLogInfo.sOperator;
bookLogInfo.sDateTime = dateTime.currentDateTime().toString(DATETIME);
sSql = "SELECT name, author, type, press, "
"pressdate, pagenum, price, adddate, lendtimes, "
"status, bookID FROM tbl_book WHERE bookID = '" + bookInfo.sID + "'";
if (IsExist(sSql))
{
sSql = "DELETE FROM tbl_book where bookID = '" + bookInfo.sID + "'";
if (ExcuteSqlCmd(sSql))
{
bookLogInfo.dwResult = SUCCESS;
bookLogInfo.sDescription = tr("Delete book<<") + bookInfo.sName
+ tr(">>successfully!");
}
else
{
bookLogInfo.dwResult = FAILURE;
bookLogInfo.sDescription = tr("DB ERROR");
}
}
else
{
bookLogInfo.dwResult = FAILURE;
bookLogInfo.sDescription = tr("Delete book<<") + bookInfo.sName + tr(
">>failed,No such book!");
}
ExcuteBookLogAdd(bookLogInfo);
tmpInfo.dwType = RESULT;
tmpInfo.dwSubType = BOOK;
tmpInfo.bookLogInfo = bookLogInfo;
emit
Information(tmpInfo);
}
void SqlCommand::BookListInfo(BOOKINFO &bookInfo)
{
MANAGEINFO tmpInfo;
QString sSql = "SELECT name, author, type, press, "
"pressdate, pagenum, price, adddate, lendtimes, "
"status, bookID FROM tbl_book";
if (ExcuteSqlCmd(sSql))
{
if (GetNextBook(tmpInfo.bookInfo))
{
tmpInfo.dwSubType = BOOK_RESPONSE;
}
else
{
tmpInfo.dwSubType = SUCCESS;
}
}
tmpInfo.dwType = BOOK;
emit
Information(tmpInfo);
}
void SqlCommand::BookResponse()
{
MANAGEINFO tmpInfo;
if (GetNextBook(tmpInfo.bookInfo))
{
tmpInfo.dwSubType = BOOK_RESPONSE;
}
else
{
tmpInfo.dwSubType = SUCCESS;
}
tmpInfo.dwType = BOOK;
emit
Information(tmpInfo);
}
void SqlCommand::BookQueryInfo(BOOKINFO &bookInfo)
{
MANAGEINFO tmpInfo;
QString sSql = "SELECT name, author, type, press, "
"pressdate, pagenum, price, adddate, lendtimes, "
"status, bookID FROM tbl_book WHERE name like '%" + bookInfo.sName
+ "%'and bookID like'%" + bookInfo.sID + "%'and type like'%"
+ bookInfo.sType + "%'";
if (ExcuteSqlCmd(sSql))
{
if (GetNextBook(tmpInfo.bookInfo))
{
tmpInfo.dwSubType = BOOK_RESPONSE;
}
else
{
tmpInfo.dwSubType = SUCCESS;
}
}
tmpInfo.dwType = BOOK;
emit
Information(tmpInfo);
}
void SqlCommand::BookUpdateInfo(BOOKINFO &bookInfo)
{
MANAGEINFO tmpInfo;
BOOKLOGINFO bookLogInfo;
bookLogInfo.sBookID = bookInfo.sID;
bookLogInfo.sBookName = bookInfo.sName;
bookLogInfo.dwOperation = BOOK_UPDATE;
bookLogInfo.sType = bookInfo.sType;
bookLogInfo.sIP = gUserLogInfo.sIP;
bookLogInfo.sOperator = gUserLogInfo.sOperator;
bookLogInfo.sDateTime = dateTime.currentDateTime().toString(DATETIME);
QString sSql = "UPDATE tbl_book SET name='" + bookInfo.sName
+ "', author='" + bookInfo.sAuthor + "', type='" + bookInfo.sType
+ "', press='" + bookInfo.sPress + "', pressdate='"
+ bookInfo.sPressDate + "', pagenum='" + QString("%1").arg(
bookInfo.dwPageNum) + "', price='" + QString("%1").arg(
bookInfo.fPrice) + "', status='" + QString("%1").arg(
bookInfo.dwStatus) + "'WHERE bookID='" + bookInfo.sID + "'";
if (ExcuteSqlCmd(sSql))
{
bookLogInfo.dwResult = SUCCESS;
bookLogInfo.sDescription = tr("Update book<<") + bookInfo.sName + tr(
">>successfully!");
}
else
{
bookLogInfo.dwResult = FAILURE;
bookLogInfo.sDescription = tr("DB ERROR");
}
ExcuteBookLogAdd(bookLogInfo);
tmpInfo.dwType = RESULT;
tmpInfo.dwSubType = BOOK;
tmpInfo.bookLogInfo = bookLogInfo;
emit
Information(tmpInfo);
}
bool SqlCommand::GetNextBook(BOOKINFO &bookInfo)
{
if (sqlQuery.isSelect() && sqlQuery.next())
{
bookInfo.sName = sqlQuery.value(0).toString();
bookInfo.sAuthor = sqlQuery.value(1).toString();
bookInfo.sType = sqlQuery.value(2).toString();
bookInfo.sPress = sqlQuery.value(3).toString();
bookInfo.sPressDate = sqlQuery.value(4).toString();
bookInfo.dwPageNum = sqlQuery.value(5).toInt(&ok);
bookInfo.fPrice = sqlQuery.value(6).toDouble(&ok);
bookInfo.sAddDate = sqlQuery.value(7).toString();
bookInfo.dwLendTimes = sqlQuery.value(8).toInt(&ok);
bookInfo.dwStatus = sqlQuery.value(9).toInt(&ok);
bookInfo.sID = sqlQuery.value(10).toString();
return true;
}
else
{
sqlQuery.clear();
return false;
}
}
void SqlCommand::SendBookInfo(QDataStream &out, MANAGEINFO &send
没有合适的资源?快使用搜索试试~ 我知道了~
qt 图书管理系统
共120个文件
png:41个
h:34个
cpp:21个
5星 · 超过95%的资源 需积分: 50 380 下载量 169 浏览量
2012-02-07
16:41:02
上传
评论 21
收藏 379KB ZIP 举报
温馨提示
qt 图书管理系统源码 界面优美,带服务端、数据库
资源推荐
资源详情
资源评论
收起资源包目录
qt 图书管理系统 (120个子文件)
SqlCommand.cpp 42KB
TableView.cpp 13KB
booksystem.cpp 13KB
bookmanage.cpp 7KB
SendMessage.cpp 7KB
UserManage.cpp 6KB
LendManage.cpp 5KB
booksystemserver.cpp 4KB
TCPClientThread.cpp 3KB
BookLogManage.cpp 2KB
UserLogManage.cpp 2KB
updatepwd.cpp 2KB
BookDialog.cpp 1KB
UserDialog.cpp 1KB
logon.cpp 1KB
server.cpp 1KB
serverip.cpp 1KB
ServerTime.cpp 563B
ReaderInfo.cpp 526B
main.cpp 347B
main.cpp 323B
Makefile.Debug 17KB
Makefile.Debug 9KB
object_script.BookSystem.Debug 670B
object_script.BKSystemServer.Debug 314B
Uibooksystem.h 32KB
UiBookDialog.h 9KB
UiUserDialog.h 9KB
Uibookmanage.h 7KB
UiLendManage.h 7KB
Uibooksystemserver.h 7KB
UiUserManage.h 6KB
GlobalDefine.h 6KB
GlobalDefine.h 6KB
Uilogon.h 5KB
Uiupdatepwd.h 4KB
UiReaderInfo.h 4KB
UiBookLogManage.h 3KB
UiUserLogManage.h 3KB
SqlCommand.h 3KB
Uiserverip.h 3KB
TableView.h 2KB
booksystem.h 2KB
booksystemserver.h 1KB
SendMessage.h 1KB
bookmanage.h 956B
UserManage.h 805B
LendManage.h 697B
TCPClientThread.h 647B
server.h 642B
UserLogManage.h 594B
BookLogManage.h 587B
updatepwd.h 509B
logon.h 484B
BookDialog.h 437B
UserDialog.h 435B
serverip.h 410B
ServerTime.h 399B
ReaderInfo.h 377B
systemserver.ico 97KB
lib.ico 1KB
Makefile 5KB
Makefile 5KB
bookstat.png 16KB
system.png 15KB
bookmanage.png 12KB
help.png 12KB
addbook.png 11KB
delbook.png 11KB
booklist.png 11KB
returnbook.png 10KB
lendbook.png 10KB
usertable.png 10KB
lendlist.png 9KB
adduser.png 9KB
reader.png 9KB
deluser.png 8KB
lendrecord.png 8KB
search.png 7KB
logmanage.png 7KB
renewal .png 7KB
connserver.png 6KB
overduerecord.png 5KB
pwdmodify.png 5KB
exit.png 5KB
userlog.png 5KB
usermanage.png 5KB
logout.png 4KB
querybook.png 4KB
login.png 4KB
booklog.png 3KB
addbooktitle.png 1KB
inlibrary.png 1KB
delbooktitle.png 1KB
lend.png 1KB
notoverdue.png 1KB
overdue.png 1KB
failure.png 1KB
male.png 1007B
showGPS.png 943B
共 120 条
- 1
- 2
忧伤的蜗牛
- 粉丝: 10
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页