WIC项目_SAIO SQLCE DB manmger转换出现的问题

本文介绍了六个SQL表的创建过程,包括用户表、应用表、价格表、参数表、交易表及更新表。每张表详细定义了字段名、类型及主键,确保数据结构合理并符合业务需求。
1 首先是表的字段名称不能是SQL的关键字符例如update、select等

//1 创建表 UserTb
CREATE TABLE UserTb(uid         nvarchar(6)     PRIMARY KEY,
                    pwd         nvarchar(6)     ,
                    privilege   nchar(1)      
);
------------------------------------------------------------
CREATE TABLE UserTb(uid nvarchar(6) PRIMARY KEY, pwd nvarchar(6) NOT NULL, privilege nchar(1) NOT NULL);
////////////////////////////////////////////////////////////



//2 创建表 APLTb
CREATE TABLE APLTb(upc          nvarchar(17)     PRIMARY KEY,
                   description    nvarchar(50)    ,
                   category    nchar(2)    ,
                   subcategory    nchar(3)    ,
                   punit    nvarchar(10)    ,
                   maxprice    nchar(6)    ,
                   ptype     nchar(2)   
);
------------------------------------------------------------
CREATE TABLE APLTb(upc nvarchar(17) PRIMARY KEY, description nvarchar(50), category nchar(2), subcategory nchar(3), punit nvarchar(10), maxprice nchar(6), ptype nchar(2));
////////////////////////////////////////////////////////////



//3 创建表 PriceTb
CREATE TABLE PriceTb (upc    nchar(17)    PRIMARY KEY,
                      price    nchar(6)   
);
------------------------------------------------------------
CREATE TABLE PriceTb (upc nchar(17) PRIMARY KEY, price nchar(6));
////////////////////////////////////////////////////////////



//4 创建表 ParamTb
CREATE TABLE ParamTb(pid    smallint    PRIMARY KEY,
                     pname    nvarchar(30)    ,
                     pvalue    nvarchar(40)   
);
------------------------------------------------------------
CREATE TABLE ParamTb(pid smallint PRIMARY KEY, pname nvarchar(30), pvalue nvarchar(40));
////////////////////////////////////////////////////////////



//5 创建表 TransTb
CREATE TABLE TransTb (traceid    nchar(6)    PRIMARY KEY,
                      msgtype    nchar(4)    ,
                      amount    nchar(12)    ,
                      uid    nchar(4)    ,
                      transdate    nchar(6)    ,
                      transtime    nchar(6)    ,
                      aiicode    nvarchar(12)   
);
------------------------------------------------------------
CREATE TABLE TransTb (traceid nchar(6) PRIMARY KEY, msgtype nchar(4), amount nchar(12), uid nchar(4), transdate    nchar(6), transtime nchar(6), aiicode nvarchar(12));
////////////////////////////////////////////////////////////



//6 创建表 UpdateTb
CREATE TABLE UpdateTb(tid    nchar(2)    PRIMARY KEY,
                      tname    nvarchar(20)    ,
                      lupdate    nchar    (6)    ,
                      luptime    nchar    (6)    
);
-----------------------------------------------------------
CREATE TABLE UpdateTb (tid nchar(2) PRIMARY KEY, tname nvarchar(20), lupdate nchar(6), luptime nchar(6));
////////////////////////////////////////////////////////////


    CString strCreate =_T("CREATE TABLE UserTb(uid nvarchar(6) PRIMARY KEY, pwd nvarchar(6) NOT NULL, privilege nchar(1) NOT NULL);");
    test.ExecuteSQL(strCreate);

    CString strCreate1 =_T("CREATE TABLE APLTb(upc nvarchar(17) PRIMARY KEY, description nvarchar(50), category nchar(2), subcategory nchar(3), punit nvarchar(10), maxprice nchar(6), ptype nchar(2));");
    test.ExecuteSQL(strCreate1);

    CString strCreate2 =_T("CREATE TABLE PriceTb (upc nchar(17) PRIMARY KEY, price nchar(6));");
    test.ExecuteSQL(strCreate2);

    CString strCreate3 =_T("CREATE TABLE ParamTb(pid smallint(2) PRIMARY KEY, pname nvarchar(30), pvalue nvarchar(40));");
    if(    test.ExecuteSQL(strCreate3))
    {
        MessageBox(NULL, _T("Insert OK"), _T("3"), MB_OK);
    }
    else
    {
        MessageBox(NULL, _T("Insert Fail"), _T("3"), MB_OK);
    }
   
    CString strCreate4 =_T("CREATE TABLE TransTb (traceid nchar(6) PRIMARY KEY, msgtype nchar(4), amount nchar(12), uid nchar(4), transdate    nchar(6), transtime nchar(6), aiicode nvarchar(12));");
    test.ExecuteSQL(strCreate4);
   
    CString strCreate5 =_T("CREATE TABLE UpdateTb (tid nchar(2) PRIMARY KEY, tname nvarchar(20), lupdate nchar(6), luptime nchar(6));");
2 插入数据的时候要注意字段的长度
    csPwd = CMd5::Encrypt(_T("123456"));
    csSql.Format(_T("INSERT INTO UserTb(uid, pwd, privilege) VALUES(123456, '%s', 2);"), csPwd);
    //pwd字段经过加密后变成32为MD5码,无法存储在只有6个字节的表中

    if(    test.ExecuteSQL(strCreate5))
    {
        MessageBox(NULL, _T("Insert OK"), _T("5"), MB_OK);
    }
    else
    {
        MessageBox(NULL, _T("Insert Fail"), _T("5"), MB_OK);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值