报刊订阅管理系统(数据库课程设计)

系统功能的基本要求感谢关注!

1.订户管理:订户增加、修改、删除;

2.目录管理:目录增加、删除、修改;

3.订单管理:完成订户订阅数据的管理;

4.订单查询:按订户查询订单详细情况;

5.统计查询:按报刊目录统计各类报刊的订阅数量及金额。

代码已实现在vc++6.0以及vs2019中成功运行(运行出现问题欢迎私信

此题目说明书,任务书,课程设计所有内容部分已打包,需要的私信取!!!

#include <stdlib.h>
#include <windows.h>
#include <sqlucode.h>  
#include <iostream>
#include <tchar.h>
using namespace std;

#define CNO_LEN 10
#define NMNO_LEN 10
#define QTY_LEN 4
#define DATE_LEN 10
#define START_LEN 10
#define TERM_LEN 10
#define TITLE_LEN 20
#define PERIOD_LEN 10
#define PRICE_LEN 8
#define NAME_LEN 10
#define ADDR_LEN 20
void back(){}
int main()
{
    //定义句柄括和变量
    SQLHENV dinghenv;       //环境句柄括
    SQLHDBC dinghdbc;       //连接句柄括
    SQLHSTMT dinghstmt;     //语句句柄括
    SQLRETURN ret;
    SQLDOUBLE PRICE;
    SQLINTEGER QTY;
    SQLCHAR CNO[CNO_LEN], NMNO[NMNO_LEN], DATE1[DATE_LEN], START[START_LEN], TERM[TERM_LEN], TITLE[TITLE_LEN], PERIOD[PERIOD_LEN], NAME[NAME_LEN], ADDR[ADDR_LEN];
    SQLINTEGER cbCNO = SQL_NTS, cbNMNO = SQL_NTS, cbQTY = 0, cbDATE1 = SQL_NTS, cbSTART = SQL_NTS, cbTERM = SQL_NTS, cbTITLE = SQL_NTS, cbPERIOD = SQL_NTS, cbNAME = SQL_NTS, cbADDR = SQL_NTS;
    SQLINTEGER cbPRICE = 0;
    //初始化环境
    ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &dinghenv);
    ret = SQLSetEnvAttr(dinghenv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
    //建立连接
    ret = SQLAllocHandle(SQL_HANDLE_DBC, dinghenv, &dinghdbc);
    ret = SQLConnect(dinghdbc, (SQLCHAR*)(_T("sqlserver")), SQL_NTS, (SQLCHAR*)(_T("sa")), SQL_NTS, (SQLCHAR*)(_T("772739")), SQL_NTS);
    if (!(ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO))
    {
        printf("数据库连接失败!\n");
        return -1;
    }
    else
    {
        printf("数据库连接成功!加载中.....\n");
        Sleep(2000);//延时2秒
        system("cls");//清屏
    }
loop:
    //初始化语句句柄括
    ret = SQLAllocHandle(SQL_HANDLE_STMT, dinghdbc, &dinghstmt);
    ret = SQLSetStmtAttr(dinghstmt, SQL_ATTR_ROW_BIND_TYPE, (SQLPOINTER)SQL_BIND_BY_COLUMN, SQL_IS_INTEGER);
    //执行语句
    int x, y, m, n;
    cout << "" << endl;
    cout << "    订户订阅报刊的应用系统        " << endl;
    cout << "" << endl;
    cout << "       1、订户管理" << endl;
    cout << "       2、目录管理" << endl;
    cout << "       3、订单管理" << endl;
    cout << "       4、订单查询" << endl;
    cout << "       5、统计查询" << endl;
    cout << "       6、退出" << endl;
    cout << "" << endl;
    cout << "请输入您的选择:";
    cin >> x;
    switch (x)
    {
    case 1:x = 1;//订户管理
    {
        system("cls");//清屏
    loop1:
        cout << "" << endl;
        cout << "        订户管理" << endl;
        cout << "" << endl;
        cout << "      1、增加订户" << endl;
        cout << "      2、修改订户" << endl;
        cout << "      3、删除订户" << endl;
        cout << "      4、返回上级" << endl;
        cout << "" << endl;
        cout << "请输入您的选择:";
        cin >> y;
        switch (y)
        {
        case 1:y = 1; //增加订户
        {
            SQLCHAR CNO1[CNO_LEN], NAME1[NAME_LEN], ADDR1[ADDR_LEN];
            ret = SQLPrepare(dinghstmt, (SQLCHAR*)(_T("INSERT INTO CUSTOMER(CNO,NAME,ADDR) VALUES(?,?,?)")), SQL_NTS);
            cout << "输入订户信息(订户编号,姓名,地址):" << endl;
            cin >> CNO1;
            cin >> NAME1;
            cin >> ADDR1;
            if (ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO)
            {
                cbCNO = SQL_NTS; cbNAME = SQL_NTS; cbADDR = SQL_NTS;
                ret = SQLBindParameter(dinghstmt, 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, CNO_LEN, 0, CNO1, 0, &cbCNO);
                ret = SQLBindParameter(dinghstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, NAME_LEN, 0, NAME1, 0, &cbNAME);
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值