创建表——command命令

本文由 代码助手软件 整理发布 内容与本软件无关
更惬意的读、更舒心的写、更轻松的发布

            _CommandPtr spCmd;                      //定义CommandPtr变量
            _RecordsetPtr pRecordSet;               //定义记录集
            long count=0;
            
            spCmd.CreateInstance(__uuidof(Command)); //创建Command实例
            spCmd->ActiveConnection=m_pConnection;   //将Command与数据库关联
            spCmd->CommandText=(LPCTSTR)strCmd;      //strCmd命令
            pRecordSet=spCmd->Execute(NULL,NULL,adCmdText);  //执行Command命令后返回的结果集

实例一 创建表:

strCmd.Format(
                _T("create table 课堂成绩表%d(学号 INTEGER NOT NULL PRIMARY KEY,姓名 TEXT,优秀 INTEGER,良 INTEGER,一般 INTEGER,旷课 INTEGER,主动加分 INTEGER)"),
                m_pParentStudentInfo->m_nXueqiID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);
            
            
            //为成绩表添加学号为0 的学生   用姓名项 记录总的点名次数
            strCmd.Format(
                _T("Insert into  课堂成绩表%d(学号,姓名) values(0,0)"),
                m_pParentStudentInfo->m_nXueqiID);
                
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);
void CKemuPage::CreateTable(int nID)
{
    //创KeshiID、ZhishidianID、WentiID表
    try{
        _CommandPtr spCmd;
        _RecordsetPtr pRecordSet;
        spCmd.CreateInstance(__uuidof(Command));
        spCmd->ActiveConnection=m_pConnectionPtr;
        CString strCmd;
        //创建keshiID  
        strCmd.Format(  
            _T("create table Keshi%d(课时 INTEGER NOT NULL PRIMARY KEY,题目 TEXT(100))"),
            nID);
        spCmd->CommandText=(LPCTSTR)strCmd;
        spCmd->Execute(NULL,NULL,adCmdText);
        //创建ZhishidianID  
        strCmd.Format(  
            _T("create table Zhishidian%d(ID AUTOINCREMENT(1,1) PRIMARY KEY,课时 INTEGER,知识点ID INTEGER,知识点 Memo,重点 Bit,难点 Bit)"),
            nID);
        spCmd->CommandText=(LPCTSTR)strCmd;
        spCmd->Execute(NULL,NULL,adCmdText);
        //创建WentiID  
        strCmd.Format(  
            _T("create table Wenti%d(ID AUTOINCREMENT(1,1) PRIMARY KEY,课时ID INTEGER,知识点ID INTEGER,问题ID INTEGER,问题 Memo,答案 Memo)"),
            nID);
        spCmd->CommandText=(LPCTSTR)strCmd;
        spCmd->Execute(NULL,NULL,adCmdText);
    }catch(_com_error &e)
    {
        MessageBox(e.ErrorMessage());
    }
}
            //创建班级信息表----班级表
            strCmd.Format(
                _T("create table 班级表%d(学号 INTEGER NOT NULL PRIMARY KEY,姓名 TEXT(20),性别 TEXT(2),地址 TEXT(100),联系方式 TEXT(100),备注 TEXT(200),照片 Image)"),
                iClassID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);
            
            //创建成绩表-----ID课程成绩表
            strCmd.Format(
                _T("create table 课堂成绩表%d(学号 INTEGER NOT NULL PRIMARY KEY,姓名 TEXT(20),优秀 INTEGER,良 INTEGER,一般 INTEGER,旷课 INTEGER,主动加分 INTEGER)"),
                iClassID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);
            //为成绩表添加学号为0 的学生   用姓名项 记录总的点名次数
            strCmd.Format(
                _T("Insert into  课堂成绩表%d(学号,姓名) values(0,0)"),
                iClassID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);

Access创建表的同时 给字段添加默认项,否则查找时可能找不到预期结果

            //创建成绩表-----ID课程成绩表
            strCmd.Format(
                _T("create table 课堂成绩表%d(学号 INTEGER NOT NULL PRIMARY KEY,姓名 TEXT(20),优秀 INTEGER DEFAULT 0 NOT NULL,良 INTEGER DEFAULT 0 NOT NULL,一般 INTEGER DEFAULT 0 NOT NULL,旷课 INTEGER DEFAULT 0 NOT NULL,主动加分 INTEGER DEFAULT 0 NOT NULL)"),
                iClassID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);

实例二: 选择表中的记录

           strCmd.Format(
                _T("select * from 班级表%d"),
                m_pParentStudentInfo->m_nClassID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            pRecordSet=spCmd->Execute (NULL,NULL,adCmdText);
            
            
            int nXuehao=0;
            CString nameStr;
            _variant_t varValue;
            while (!pRecordSet->adoEOF)
            {
                varValue=pRecordSet->GetCollect(_T("学号"));
                if (varValue.vt!=NULL)
                {
                    nXuehao=_ttoi((LPCTSTR)_bstr_t(varValue));
                }else
                    continue;
                varValue=pRecordSet->GetCollect (_T("姓名"));
                if (varValue.vt!=NULL)
                {
                    nameStr=(LPCTSTR)_bstr_t(varValue);
                }
                strCmd.Format(
                    _T("Insert into  课堂成绩表%d(学号,姓名) values(%d,\"%s\")"),
                    m_pParentStudentInfo->m_nXueqiID,
                    nXuehao,
                    nameStr);
                spCmd->CommandText=(LPCTSTR)strCmd;
                spCmd->Execute(NULL,NULL,adCmdText);
                pRecordSet->MoveNext ();
            }

实例三 更新表

            strCmd.Format(_T("update classInfo set 班级ID=%d where ID=%d"),
                m_pParentStudentInfo->m_nClassID,
                m_pParentStudentInfo->m_nXueqiID);
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);

实例四:查找排序最高的

            strCmd.Format(_T("select top 1 * from ClassInfo order by ID desc"));
            pRecordSet=NULL;
            spCmd->CommandText=(LPCTSTR)strCmd;
            pRecordSet=spCmd->Execute(NULL,NULL,adCmdText);
            _variant_t vID;
            int iClassID=0;
            ASSERT(pRecordSet!=NULL);
            vID=pRecordSet->GetCollect ("ID");
            //获得新插入班级的ID
            ASSERT (vID.vt!=NULL);
            m_pParentStudentInfo->m_nXueqiID=_ttoi((LPCTSTR)(_bstr_t(vID)));

实例五 插入

            //没有同样学期的话,则将其插入
            strCmd.Format(
                _T("insert into ClassInfo(入学年,班级,学期,班级ID)  values(%d,\"%s\",\"%s\",%d)"),
                _ttoi(ruxuenianStr),
                banjiStr,
                xueqiStr,
                m_pParentStudentInfo->m_nClassID);
            spCmd.CreateInstance(__uuidof(Command));
            spCmd->ActiveConnection=m_pConnection;
            spCmd->CommandText=(LPCTSTR)strCmd;
            spCmd->Execute(NULL,NULL,adCmdText);

实例六 确定是否有相同的

            //确定是否已有同样的学期
            CString strCmd;
            strCmd.Format(
                _T("select count(*) from ClassInfo where 入学年=%d and 班级=\"%s\" and 学期=\"%s\""),
                _ttoi(ruxuenianStr),
                banjiStr,
                xueqiStr);
                
                
            _CommandPtr spCmd;
            _RecordsetPtr pRecordSet;
            long count=0;
            spCmd.CreateInstance(__uuidof(Command));
            spCmd->ActiveConnection=m_pConnection;
            spCmd->CommandText=(LPCTSTR)strCmd;
            pRecordSet=spCmd->Execute(NULL,NULL,adCmdText);
            count=(long)pRecordSet->GetCollect ((long)0);
            
            
            if (count>0)
            {
                AfxMessageBox (L"已经存在此学期,新从新设计新学期的名字");
                return;
            }
时间: 2024-10-07 22:31:45

创建表——command命令的相关文章

4- MySQL创建表以及增删改查

查看表结构 查看表的结构,使用命令:desc 表明: 创建表(命令) 格式:使用create table创建表,必须给出下列信息: 1.新表的名字. 2.表中列的名字和定义,用逗号隔开. 语法: create table tabl_name(chenzhe,chenzhe1) 自增列的三个条件: 1.必须是索引列(通常在主键创建) 2.数值键 3.每个表只能创建一个自增列 创建表,主要参数:数据类型,是否允许为空,默认值,自增列,主键. 更新表: 更新表的定义,使用alter table语句.

oracle用命令创建表空间、用户,并为用户授权、收回权限。

oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使用可以使用alter user username account lock将用户锁定. 用命令创建表空间.用户,并为用户授权.收回权限.Create tablespace tabllespacenameDatafile ‘f:\orcl\user001.dbf   size 20mDefault s

Oracle创建 表空间 用户 给用户授权命令

//创建表空间 create tablespace ACHARTSdatafile 'D:\oradata\orcl\ACHARTS01.DBF' size 800mautoextend on next 10m maxsize 3000m //删除表空间drop tablespace ACHARTS //创建用户""内是密码create user acharts identified by "acharts"; //删除用户drop user tcuser2 //给

数据库复习总结(7)-表的创建以及插入命令、数据修改、数据删除

一.表的操作 表:创建.修改.删除 通过select * from sysobjects  where xtype='U'可以查看所有存在的表 多个列间使用逗号分隔 主键:primary key 非空:not null 惟一:unique 默认:default() 检查:check() 外键:foreign key(列名) references 表名(列名) 例如:--创建表 use practiceDB create table ClassInfo ( CId int not null pri

activiti自定义流程之整合(二):使用angular js整合ueditor创建表单

注:整体环境搭建:activiti自定义流程之整合(一):整体环境配置 基础环境搭建完毕,接下来就该正式着手代码编写了,在说代码之前,我觉得有必要先说明一下activit自定义流程的操作. 抛开自定义的表单不谈,通过之前的了解,我们知道一个新的流程开始,是在启动流程实例(processIntence)的时候,而流程实例依赖于流程定义(processDefinition),流程定义又依赖于流程模型(model). 我们用到的自定义表单需要在创建模型,画模型图的时候就指定表单的名称formKey,需

activiti自己定义流程之整合(二):使用angular js整合ueditor创建表单

基础环境搭建完成,接下来就该正式着手代码编写了,在说代码之前.我认为有必要先说明一下activit自己定义流程的操作. 抛开自己定义的表单不谈.通过之前的了解,我们知道一个新的流程開始.是在启动流程实例(processIntence)的时候,而流程实例依赖于流程定义(processDefinition).流程定义又依赖于流程模型(model). 我们用到的自己定义表单须要在创建模型,画模型图的时候就指定表单的名称formKey.须要保证这个formKey和我们创建的表单名称一致. 表单并不在创建

Qt编译mysql以及创建表后进行导入操作

鉴于许多同学对Qt编译myql总是不能成功,出现各种问题,今天特此写出本教程,希望能够帮到需要的同学. 首先,需要明白编译的目的和原理. 目的:Qt 5.2版本以前都是不带mysql驱动的,所以需要进行编译mysql数据库驱动,只有编译完成后才能被Qt加载上.如果你安装的是Qt5.2以后版本的,那就不需要了,因为在后来的版本中,Qt官方增加这一模块. 可以在Qt的安装插件目录下查看自己的驱动是否已经存在.例如我的在目录: C:\Qt\4.8.2\plugins\sqldrivers.可以看到当前

设计模式(十四):Command命令模式 -- 行为型模式

1.概述 在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活. 例子1:电视机遥控器 : 遥控器是请求的发送者,电视机是请求的接收者,遥控器上有一些按钮如开,关,换频道等按钮就是具体命令,不同的按钮对应电视机的不同操作. 2.问题 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧

WPF--鼠标右键菜单中的Command命令实现

一个功能,在ListView中的ListBoxItem控件上实现右键菜单关闭选项,将该ListBoxItem从ListView中删除. 利用 RoutedCommand类创建Command命令,MSDN上将其定义为一个实现 ICommand 并在元素树之内进行路由的命令. C#代码: private RoutedCommand closeCmd = new RoutedCommand("Clear", typeof(MainWindow)); private void ListBoxI