📄 main.cpp
字号:
/**************************************
/*物流管理系统客房端源c++代码 *
/*作者:严冰,黄金海 *
/*huangjinhai20010@sina.com *
/*时间:2006/04/08 *
/*************************************/
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
#include <string>
#include <iostream>
using namespace std;
HENV henv;
HDBC hdbc;
HSTMT hstmt;
RETCODE retcode;
string sql_command;
void connect(){
SQLAllocEnv(&henv);
SQLAllocConnect(henv,&hdbc);
SQLConnect(hdbc,(unsigned char*)"sql",SQL_NTS, (unsigned char*)"user",SQL_NTS,(unsigned char*)"pswd",SQL_NTS);
SQLAllocStmt(hdbc,&hstmt);
}
void close(){
SQLFreeStmt(hstmt,SQL_DROP);
SQLDisconnect(hdbc);
SQLFreeConnect(hdbc);
SQLFreeEnv(henv);
}
int mainmenu(){
int choice;
cout <<"1.零件产品"<<endl;
cout <<"2.入库单"<<endl;
cout <<"3.配送合同"<<endl;
cout <<"0.退出"<<endl;
cout <<"请输入您的选择:";
cin >>choice;
while(choice<0 || choice>3){
cout <<"您的输入有误,请重新输入:"<<endl;
cin >>choice;
}
return choice;
}
int function(){
int choice;
cout <<"1.查询"<<endl;
cout <<"2.插入"<<endl;
cout <<"3.删除"<<endl;
cout <<"4.更新"<<endl;
cout <<"0.返回"<<endl;
cout <<"请输入您的选择:";
cin >>choice;
while(choice<0 || choice>4){
cout <<"您的输入有误,请重新输入:"<<endl;
cin >>choice;
}
return choice;
}
void parts(){
for(;;){
string value,tmp;
char s1[10],s2[20],s3[10],s4[10],s5[10];
long size[5];
connect();
switch(function()){
case 0:
close();
return;
case 1:
retcode=SQLExecDirect(hstmt,(unsigned char*)"SELECT * from PARTS",SQL_NTS);
if(retcode==SQL_SUCCESS){
SQLBindCol(hstmt,1,SQL_C_CHAR,s1,10,&size[0]);
SQLBindCol(hstmt,2,SQL_C_CHAR,s2,20,&size[1]);
SQLBindCol(hstmt,3,SQL_C_CHAR,s3,10,&size[2]);
SQLBindCol(hstmt,4,SQL_C_CHAR,s4,10,&size[3]);
SQLBindCol(hstmt,5,SQL_C_CHAR,s5,10,&size[4]);
cout <<" 编号 产品名称 数量 成本价 零售价"<<endl;
for(;;){
retcode = SQLFetch(hstmt);
if(retcode==SQL_NO_DATA_FOUND)
break;
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
cout <<s1<<' '<<s2<<' '<<s3<<' '<<s4<<' '<<s5<<endl;
else
break;
}
}else
cout <<"连接失败!"<<endl;
break;
case 2:
sql_command="INSERT INTO PARTS(ID,NAME,AMOUNT,IN_PRICE,OUT_PRICE) VALUES(\'";
cout <<"编号:"; cin >> value; sql_command+=value+"\',\'";
cout <<"产品名称:"; cin >> value; sql_command+=value+"\',\'";
cout <<"数量:"; cin >> value; sql_command+=value+"\',\'";
cout <<"成本价:"; cin >> value; sql_command+=value+"\',\'";
cout <<"零售价:";cin >> value; sql_command+=value+"\')";
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"插入成功!"<<endl;
else
cout <<"插入失败!"<<endl;
break;
case 3:
sql_command="DELETE FROM PARTS WHERE ID=\'";
cout <<"请输入要删除产品的编号:";
cin >>value;
sql_command+=value+'\'';
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"删除成功!"<<endl;
else
cout <<"删除失败!"<<endl;
break;
case 4:
sql_command=" WHERE ID=\'";
tmp="UPDATE PARTS SET NAME=\'";
cout <<"请输入产品的编号:"; cin >> value; sql_command+=value+'\'';
cout <<"新产品名称:"; cin >> value; tmp+=value+"\',AMOUNT=\'";
cout <<"新数量:"; cin >> value; tmp+=value+"\',IN_PRICE=\'";
cout <<"新成本价:"; cin >> value; tmp+=value+"\',OUT_PRICE=\'";
cout <<"新零售价:"; cin >> value; tmp+=value+'\'';
sql_command=tmp+sql_command;
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"更新成功!"<<endl;
else
cout <<"更新失败!"<<endl;
}
close();
}
}
void export(){
for(;;){
string value,tmp;
char s1[10],s2[20],s3[10],s4[10],s5[10],s6[100];
long size[6];
connect();
switch(function()){
case 0:
close();
return;
case 1:
retcode=SQLExecDirect(hstmt,(unsigned char*)"SELECT * from IM_EXPORT",SQL_NTS);
if(retcode==SQL_SUCCESS){
SQLBindCol(hstmt,1,SQL_C_CHAR,s1,10,&size[0]);
SQLBindCol(hstmt,2,SQL_C_CHAR,s2,20,&size[1]);
SQLBindCol(hstmt,3,SQL_C_CHAR,s3,10,&size[2]);
SQLBindCol(hstmt,4,SQL_C_CHAR,s4,10,&size[3]);
SQLBindCol(hstmt,5,SQL_C_CHAR,s5,10,&size[4]);
SQLBindCol(hstmt,6,SQL_C_CHAR,s6,100,&size[5]);
cout <<"编号 产品名称 数量 交易时间 经手人 备注"<<endl;
for(;;){
retcode = SQLFetch(hstmt);
if(retcode==SQL_NO_DATA_FOUND)
break;
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
cout <<s1<<' '<<s2<<' '<<s3<<' '<<s4<<' '<<s5<<' '<<s6<<endl;
else
break;
}
}else
cout <<"连接失败!"<<endl;
break;
case 2:
sql_command="INSERT INTO IM_EXPORT(ID,NAME,AMOUNT,ACT_DATE,PERSON,REMARK) VALUES(\'";
cout <<"编号:"; cin >> value; sql_command+=value+"\',\'";
cout <<"产品名称:"; cin >> value; sql_command+=value+"\',\'";
cout <<"数量:"; cin >> value; sql_command+=value+"\',\'";
cout <<"交易时间:"; cin >> value; sql_command+=value+"\',\'";
cout <<"经手人:"; cin >> value; sql_command+=value+"\',\'";
cout <<"备注:"; cin >> value; sql_command+=value+"\')";
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"插入成功!"<<endl;
else
cout <<"插入失败!"<<endl;
break;
case 3:
sql_command="DELETE FROM IM_EXPARTS WHERE ID=\'";
cout <<"请输入要删除产品的ID:";
cin >>value;
sql_command+=value+'\'';
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"删除成功!"<<endl;
else
cout <<"删除失败!"<<endl;
break;
case 4:
sql_command=" WHERE ID=\'";
tmp="UPDATE IM_EXPORT SET NAME=\'";
cout <<"请输入产品的编号:"; cin >> value; sql_command+=value+'\'';
cout <<"新产品名称:"; cin >> value; tmp+=value+"\',AMOUNT=\'";
cout <<"新数量:"; cin >> value; tmp+=value+"\',ACT_DATE=\'";
cout <<"新交易时间:"; cin >> value; tmp+=value+"\',PERSON=\'";
cout <<"新经手人:"; cin >> value; tmp+=value+"\',REMARK=\'";
cout <<"新备注:"; cin >> value; tmp+=value+'\'';
sql_command=tmp+sql_command;
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"更新成功!"<<endl;
else
cout <<"更新失败!"<<endl;
}
close();
}
}
void sales(){
for(;;){
string value,tmp;
char s1[10],s2[20],s3[10],s4[10],s5[10],s6[100];
long size[6];
connect();
switch(function()){
case 0:
return;
case 1:
retcode=SQLExecDirect(hstmt,(unsigned char*)"SELECT * from BUY_SALES",SQL_NTS);
if(retcode==SQL_SUCCESS){
SQLBindCol(hstmt,1,SQL_C_CHAR,s1,10,&size[0]);
SQLBindCol(hstmt,2,SQL_C_CHAR,s2,20,&size[1]);
SQLBindCol(hstmt,3,SQL_C_CHAR,s3,10,&size[2]);
SQLBindCol(hstmt,4,SQL_C_CHAR,s4,10,&size[3]);
SQLBindCol(hstmt,5,SQL_C_CHAR,s5,10,&size[4]);
SQLBindCol(hstmt,6,SQL_C_CHAR,s6,100,&size[5]);
cout <<"编号 产品名称 数量 交易时间 经手人 备注"<<endl;
for(;;){
retcode = SQLFetch(hstmt);
if(retcode==SQL_NO_DATA_FOUND)
break;
if(retcode==SQL_SUCCESS||retcode==SQL_SUCCESS_WITH_INFO)
cout <<s1<<' '<<s2<<' '<<s3<<' '<<s4<<' '<<s5<<' '<<s6<<endl;
else
break;
}
}else
cout <<"连接失败!"<<endl;
break;
case 2:
sql_command="INSERT INTO BUY_SALES(ID,NAME,AMOUNT,ACT_DATE,PERSON,REMARK) VALUES(\'";
cout <<"编号:"; cin >> value; sql_command+=value+"\',\'";
cout <<"产品名称:"; cin >> value; sql_command+=value+"\',\'";
cout <<"数量:"; cin >> value; sql_command+=value+"\',\'";
cout <<"交易时间:"; cin >> value; sql_command+=value+"\',\'";
cout <<"经手人:"; cin >> value; sql_command+=value+"\',\'";
cout <<"备注:"; cin >> value; sql_command+=value+"\')";
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"插入成功!"<<endl;
else
cout <<"插入失败!"<<endl;
break;
case 3:
sql_command="DELETE FROM BUY_SALES WHERE ID=\'";
cout <<"请输入要删除产品的编号:";
cin >>value;
sql_command+=value+'\'';
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"删除成功!"<<endl;
else
cout <<"删除失败!"<<endl;
break;
case 4:
sql_command=" WHERE ID=\'";
tmp="UPDATE IM_EXPORT SET NAME=\'";
cout <<"请输入产品的编号:"; cin >> value; sql_command+=value+'\'';
cout <<"新产品名称:"; cin >> value; tmp+=value+"\',AMOUNT=\'";
cout <<"新数量:"; cin >> value; tmp+=value+"\',ACT_DATE=\'";
cout <<"新交易时间:"; cin >> value; tmp+=value+"\',PERSON=\'";
cout <<"新经手人:"; cin >> value; tmp+=value+"\',REMARK=\'";
cout <<"新备注:"; cin >> value; tmp+=value+'\'';
sql_command=tmp+sql_command;
retcode = SQLExecDirect(hstmt,(unsigned char*)sql_command.c_str(),SQL_NTS);
if(retcode==SQL_SUCCESS)
cout <<"更新成功!"<<endl;
else
cout <<"更新失败!"<<endl;
}
close();
}
}
int main()
{
for(;;){
switch(mainmenu()){
case 0:
return 0;
case 1:
parts();
break;
case 2:
export();
break;
case 3:
sales();
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -