• WCHAR的相关操作 范例 , 同时也是产生创建Sqlserver语句新表的 Sql


    int gsz_CreateSql_NEWTable(WCHAR product_SN[],int product_SN_size, WCHAR WCHAR_Array_Sql[],int  WCHAR_Array_Sql_size)
    {
        //第一步:定义一个WCHAR 数组,用于存储合成得到的新表名字
        WCHAR new_table_name[50] = { 0 };//最后一个里面是''
    
        //第二步:定义一个WCHAR 数组。用于存储合成得到的时间
        WCHAR date[16] = { 0 };
        SYSTEMTIME time;
        GetLocalTime(&time);
        swprintf_s(date, _T("%d%02d%02d_%02d%02d%02d"), time.wYear, time.wMonth, time.wDay, time.wHour, time.wMinute, time.wSecond);
    
        //第三步:定义一个WCHAR 数组。用于存储表的前缀
        WCHAR gsz_Table_[7] = L"Table_";//16-bit UNICODE character
    
        //第四步:定义一个WCHAR 数组。用于存储产品的SN
        //WCHAR gsz_product_SN[50] = L"SN0123456789";//16-bit UNICODE character
        WCHAR gsz_product_SN[50] = { 0 };
        memcpy(&gsz_product_SN[0], product_SN,  product_SN_size * sizeof(WCHAR));
    
        //第五步:开始合成新表的名字
        memcpy(&new_table_name[0], gsz_Table_, wcslen(gsz_Table_) * sizeof(WCHAR));//内存基本操作:将gsz_Table_里面的值写入
        memcpy(&new_table_name[6], date, wcslen(date) * sizeof(WCHAR));//内存基本操作:将gsz_Table_里面的值写入
        memcpy(&new_table_name[21], gsz_product_SN, wcslen(gsz_product_SN) * sizeof(WCHAR));//内存基本操作:将gsz_Table_里面的值写入
        int len_new_table_name = wcslen(new_table_name);//获取新表的名字的长度,后面要用到
        printf("新表的名字: %ls
    ", new_table_name);
        printf("新表名的长度: %d
    ", len_new_table_name);
    
    
    
        //范例: L"select * into [Test_Noise_Gsz].[dbo].[Table_2021_0821_1324] from [Test_Noise_Gsz].[dbo].[Table_wan_zheng] ";// 200个字节
        //甲: 定义一个WCHAR数组, 用于存放Sql语句,这个语句可以根据旧表创建新表。
        WCHAR gsz_WCHAR_Array_Sql[200] = { 0 };
        int  gsz_WCHAR_Array_Sql_len = wcslen(gsz_WCHAR_Array_Sql);//此函数返回宽字符串的长度
    
        //乙:Sql语句的前缀
        WCHAR gsz_Sql_QianZhui[50] = L"select * into [Test_Noise_Gsz].[dbo].[";
    
        //丙:Sql语句的后缀
        WCHAR gsz_Sql_HouZhui[50] = L"] from [Test_Noise_Gsz].[dbo].[Table_wan_zheng]";
    
        //丁:将前缀合成到 Sql语句里面
        memcpy(&gsz_WCHAR_Array_Sql[gsz_WCHAR_Array_Sql_len], gsz_Sql_QianZhui, wcslen(gsz_Sql_QianZhui) * sizeof(WCHAR));
        gsz_WCHAR_Array_Sql_len = wcslen(gsz_WCHAR_Array_Sql);//此函数返回宽字符串的长度
        printf("最终得到的Sql语句: %ls
    ", gsz_WCHAR_Array_Sql);
    
        //戊:将新的表名字 合成到Sql语句里面
        memcpy(&gsz_WCHAR_Array_Sql[gsz_WCHAR_Array_Sql_len], new_table_name, len_new_table_name * sizeof(WCHAR));
        gsz_WCHAR_Array_Sql_len = wcslen(gsz_WCHAR_Array_Sql);//此函数返回宽字符串的长度
        printf("最终得到的Sql语句: %ls
    ", gsz_WCHAR_Array_Sql);
    
        //己:将后缀 合成到Sql语句里面
        memcpy(&gsz_WCHAR_Array_Sql[gsz_WCHAR_Array_Sql_len], gsz_Sql_HouZhui, wcslen(gsz_Sql_HouZhui) * sizeof(WCHAR));
        gsz_WCHAR_Array_Sql_len = wcslen(gsz_WCHAR_Array_Sql);//此函数返回宽字符串的长度
    
        //庚:打印出来
        printf("最终得到的Sql语句: %ls
    ", gsz_WCHAR_Array_Sql);
        printf("content end
    ");
        //辛:将数据通过参数返回
        memcpy(&WCHAR_Array_Sql[0], gsz_WCHAR_Array_Sql, gsz_WCHAR_Array_Sql_len * sizeof(WCHAR));
        return 1;
    }

    ***********

    使用

    int main()
    {
        //定义SN
        WCHAR gsz_product_SN[50] = L"SNW0123456789";//16-bit UNICODE character
        //定义Sql变量
        WCHAR gsz_WCHAR_Array_Sql[200] = { 0 };
        //给Sql变量赋值
        gsz_CreateSql_NEWTable(gsz_product_SN, wcslen(gsz_product_SN),gsz_WCHAR_Array_Sql,1);
        //输出结果
        printf("返回的Sql语句: %ls
    ", gsz_WCHAR_Array_Sql);
    
    }
  • 相关阅读:
    python中的keys、values、items
    python中的del
    python中的reverse
    python中的remove
    python中的pop
    zookeeper for windows
    express
    js undefine,null 和NaN
    Think_php入口文件配置
    jquery 集合操作
  • 原文地址:https://www.cnblogs.com/wenluderen/p/15169811.html
Copyright © 2020-2023  润新知