问题 单项选择题

关于对SQL对象的操作权限的描述正确的是______。

A) 权限的种类分为INSERT、DELETE和UPDATE三种
B) 使用REVOKE语句获得权限
C) 权限只能用于实表而不能应用于视图
D) 使用COMMIT语句赋值权限

答案

参考答案:A

解析: REVOKE是对权限的回收,COMMIT是对事务的提交,权限不仅能作用于实表还能作用于虚表。

问答题 简答题
问答题

请使用[答题]菜单命令或直接用VC6打开考生文件夹下的工程proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang 20 Tsinghua。
注意:只能在函数address_change的“//********333********”和“//********666********”之间填入若干语句,不要改动程序中的其他内容。
程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//proj3.h
#include<iostream>
#include<string>
using namespace std;
class Person
char name[20];
int age;
char* address;
public:
Person()age=0;address=0;
void name_change(char*name);
//名字修改函数
void age_change(int_age);
//年龄修改函数
void address_change(char* add);
//地址修改函数
void info_display();
//人员信息显示
~Person();
//析构函数
;
void writeToFile (const char*path);
proj3.cpp
#include <iostream>
#include <string>
#include"proj 3.h"
using namespace std;
void Person::name_change(char*_name)

strcpy(name,_name);
void Person::age_change(int_age)

age=_age;

void Person::address change(char*_add)

if(address!=NULL) delete [] address;

void Person::info_display ()
cout<<name<<’\t’
if(address!=NULL)
cout<<address<<endl;
cout<<endl;

Person::~Person()
if(address!=NULL)
delete[] address;

void main()

Person p1;
p1.name_change("Zhang");
p1.age_change(20);
p1.address_change("Tsinghua Uni-versity");
p1.address_change("Tsinghua");
p1.info_display();
writeToFile(" ");