《选择题操作题总结精选难点重点.doc》由会员分享,可在线阅读,更多相关《选择题操作题总结精选难点重点.doc(10页珍藏版)》请在三一文库上搜索。
1、1、 对表记录的删除 第一操作sqlDele from 表名 where 条件表达式(删除符合条件的记录)删除指加了逻辑删除标记的Dele from 表名(删除表中全部记录)2、 对表中记录的修改Update 表名 set 字段名=表达式 where 条件表达式(对表中符合条件的记录值进行更新计算)Update 表名 set 字段名=表达式(对表中记录值的全部更新或横向计算)3、 给表中插入记录Insert into 表名(字段1,字段2,)value (值1,值2,)当插入的值与字段个数一致时,简写:insert into 表名 value(值1,值2,)Insert into 表名 fro
2、m apray 数组名(将数组中的数据存入到当前表中) 4、 sql对表结构的修改、建立alter table 表名 (add 增加、 alter 修改、 drop 删除、 rename 更名)add添加、新建立添加字段名:alter able 表名 add 字段名 类型(宽度)添加主索引:alter table 表名 add primary key 字段名添加候选索引:alter table 表名 add unique 字段名 tag 索引标识 (unique 唯一的、tag 随从)添加有效性规则:alter table 表名 add字段名 类型(宽度)check 有效性规则表达式 erro
3、r “错误信息提示” default 默认值Drop删除删除字段名:alter table 表名 drop 字段名删除主索引:alter table 表名 drop prim key 删除候选索引:alter table drop unique tag 索引标识名删除有效性规则:alter table 表名 alter drop check (规则)default(默认值)Rename更名指定更名字段:alter table 表名 rename 原字段名 to 新字段名更新表:rename table 原表名 to 新表名Alter修改、设置修改字段类型及宽度:alter table 表名 a
4、lter 字段名 类型(宽度)设置有效性规则:alter table 表名 alter 字段名 set check 规则表达式 error “错误信息提示”修改表结构并设置默认值:alter table 表名 alter 字段名 set default 默认值alter1、 (alter table)为student表建立一个候选索引,索引名和索引表达式均为”学号” alter table student add unique 学号 tag 学号2、 在s_t表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽度为30ALTER TABLE s_t ADD 备注 C(30)3、 alte
5、r table语句将s_t表的年度字段的默认值修改为2004ALTER TABLE s_t ALTER 年度 SET DEFAULT 20044、 为“金牌榜“增加一个“奖牌总数”(整数形)字段,并为该字段设置有效性规则:奖牌总数=0ALTER TABLE 金牌榜 ADD 奖牌总数 set CHECK 奖牌总数=05、 为“评委表”的“评委编号”字段增加有效性规则:评委编号的最左边的两位字符是11(使用left函数)ALTER TABLE 评委表 ALTER 评委编号 SET CHECK LEFT(评委编号,2)=116、 为student表增加一个“年龄”字段,类型为数值型(2)ALTER
6、TABLE student ADD COLUMN 年龄 N(2)7、 为会员表cus增加一个字段,字段名为“手机号”,数据类型为“字符”,宽度为11,在会员导购明细表中分别给“数量”和“单价”字段设置有效性规则要求:数量大于等于1,单价大于等于1,默认值为1ALTER TABLE cus ADD COLUMN 手机号 C(11); ALTER TABLE CBC ALTER 数量 SET CHECK 数量=1ALTER TABLE CBC ALTER COLUMN 数量 SET DEFAULT 1;ALTER TABLE CBC ALTER 单价 SET CHECK 单价=1ALTER TAB
7、LE CBC ALTER COLUMN 单价 SET DEFAULT 18、 在ksb表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽度为30ALTER TABLE ksb ADD COLUMN 备注 C(30)9、 为kscjb设置有效性规则和默认值,成绩=0 AND 成绩=0 AND 成绩stock_sl.买入价;ORDER BY stock_sl.持有数量 DESC;INTO TABLE stock_temp9、 考生文件夹下有表customer(客户)和order(订单)查询所有客户的订单信息,要求在结构中包含公司名称、订单编号、金额和送货方式4个字段信息,并先按公司名称升序
8、再按订单编号升序,查询结果放在results。/SELECT Customer.公司名称, Order.订单编号, Order.金额, Order.送货方式; FROM customer,order;WHERE Customer.客户编号 = Order.客户编号;ORDER BY Customer.公司名称, Order.订单编号; INTO TABLE results10、 从order表中统计2007年各月份签订的订单单数。统计结果依次包含月份和订单数两个字段,并按月份升序放在tableone中。/select month(签订日期) as 月份,count(订单号) as 订单数 fr
9、om orders ; where year(签订日期)=2007 group by 月份 order by 月份 into table tableone11、 查询bookauth数据库中出版过三本以上(含3本)图书的作者信息,查询结果包括作者姓名和所在城市,查询结果按作者姓名升序保存在表new_view4中./SELECT 作者姓名,所在城市;FROM AUTHORS;WHERE 作者编号 IN;(SELECT 作者编号 FROM BOOKS GROUP BY 作者编号 HAVING COUNT(*)=3);ORDER BY 作者姓名;INTO TABLE NEW_VIEW412、 暂停按
10、钮的Click事件代码ThisForm.Timer1.Interval=0*继续 ThisForm.Timer1.Interval=500*退出 ThisForm.Release*计时器的timer事件代码ption=time()13、 a=ThisForm.Check1.Value b=ThisForm.Check2.Value c=ThisForm.Optiongroup1.Option1.Value d=ThisForm.Optiongroup1.Option2.Value if a=1 and b=1 if c=1 select 职工号,姓名,系名,工资,课程号 from 教师表,学院
11、表; where 教师表.系号=学院表.系号; order by 职工号; into table two.dbf else if d=1 select 职工号,姓名,系名,工资,课程号 from 教师表,学院表; where 教师表.系号=学院表.系号; order by 职工号 desc; into table two.dbf endif endif endif if a=1 and b=0 if c=1 select 职工号,姓名,系名,课程号 from 教师表,学院表; where 教师表.系号=学院表.系号; order by 职工号; into table one_x.dbf els
12、e if d=1 select 职工号,姓名,系名,课程号 from 教师表,学院表; where 教师表.系号=学院表.系号; order by 职工号 desc; into table one_x.dbf endif endif endif if a=0 and b=1 if c=1 select 职工号,姓名,工资,课程号 from 教师表,学院表; where 教师表.系号=学院表.系号; order by 职工号; into table one_xx.dbf else if d=1 select 职工号,姓名,工资,课程号 from 教师表,学院表; where 教师表.系号=学院表
13、.系号; order by 职工号 desc; into table one_xx.dbf endif endif endif14、 设置确定按钮的click按钮代码,使得表单运行时能够完成如下功能:从项目信息,使用信息,项目零件/x=thisform.text1.value ;a = SELECT 零件信息.零件号, 零件信息.零件名称, 零件信息.单价, 使用零件.数量 ;FROM 零件信息,使用零件 ;WHERE 零件信息.零件号=使用零件.零件号 and 使用零件.项目号=x ;ORDER BY 零件信息.零件号 INTO TABLE +x;&a15、 根据“国家“和”获奖牌情况“;两
14、个表统计每个国家获得的金牌数(”名次“为1表示获得一块金牌),结构包括”国家名称“和”金牌数“两个字段,并按”金牌数“降序排序,若”金牌数“相同按”国家名称“降序,结构存储到表tempSELECT 国家.国家名称, COUNT(获奖牌情况.名次) AS 金牌数; FROM 国家,获奖牌情况 ; WHERE 国家.国家代码 = 获奖牌情况.国家代码; AND 获奖牌情况.名次=1; GROUP BY 国家.国家名称; ORDER BY 2 DESC, 国家.国家名称 DESC; INTO TABLE temp.dbf 16、 列出所有盈利(现价大于买入价)的股票简称,现价、买入价和持有数量,并将
15、检索结果按持有数量降序排序存储于表stock_reportSELECT stock_name.股票简称,stock_sl.现价,stock_sl.买入价,stock_sl.持有数量;FROM stock_name,stock_sl;WHERE stock_sl.股票代码=stock_name.股票代码 And stock_sl.现价stock_sl.买入价;ORDER BY stock_sl.持有数量 DESC;INTO TABLE stock_temp17、单击查询,查询bookauth数据库中出版3本以上的图书作者信息查询结果包括姓名和所查询城市:SELECT 作者姓名,所在城市;FROM
16、 AUTHORS;WHERE 作者编号 IN;(SELECT 作者编号 FROM BOOKS GROUP BY 作者编号 HAVING COUNT(*)=3);ORDER BY 作者姓名;INTO TABLE NEW_VIEW4一、索引 其他操作1、设置有效性规则供应表的字段设置有效性规则 数量0并且小于等于9999,错误信息提示数量超范围规则数量0.and.数量9999, 错误信息提示数量超范围性别只能是“男”或“女”,默认值“女”,表达式:性别$”男女”在其字段有效性规则栏中输入性别$男女,在默认值栏中输入女。2、从磁盘中删除=物理删除:删除删除表从数据库中移去,成为自由表:删除移去3、项
17、目中添加数据库:在全部下的数据库中添加项目中新建数据库:在数据下数据库下新建4、在项目中建立查询在项目管理器的数据选项卡中选中查询选项,单击新建按钮,在弹出的对话框中单击新建查询按钮5、将成绩字段的默认值设为空值(null)选择成绩字段,单击NULL列下的按钮(表示此列允许空值),默认值中输入NULL6、enable按钮由不可用到可用7、表字段定义默认值为系统当前日期:选择修改命令,在打开的表设计器中选中订单日期字段,在字段有效性框的默认值文本框中输入date()。8、在“雇员”表中,将所有记录email字段值使用“部门号”的字段值加上“雇员号”的字段值在加上“.cn”进行替换:REPLACE
18、 ALL email WITH 部门号+雇员号+.cn二、报表1、利用报表控件,将“王岩盐得分情况”作为报表的标题添加到报表中选择主菜单报表下的标题/总结(T)命令,弹出标题/总结对话框,在报表标题中选中标题带区复选框,单击确定按钮,这样就在报表中加入了一个标题带区,打开报表控件工具栏,在打开的报表控件中选择标签控件,在标题带区单击鼠标,输入王岩盐得分情况。三、表单1、组合框设置成下拉列表框:Style属性为2-下拉列表框2、设置组合框rowsource和rowsourcetpye使组合框的显示条目为“上海”“北京”:改组合框的RowSourceType属性为1-值,RowSource属性为上
19、海,北京3、RowSourceType:1-值 2-别名 3-sql 4-查询 5-数组 6-字段 7-文件 8-结构 9-弹出式菜单4、两个按钮,将歌手表中所有歌手出生地与组合框指定的内容相同的歌手的全部信息存入自由表birhplce:select * from 歌手表.dbf;where 歌手出生地= bo1.lisbo1.listindex);INTO TABLE birthplace.dbf5、打开表单vf在主窗口居中显示:AutoCenter属性为.T.-真表单设置为不可移动: Movable属性修改为F.修改“确定”按钮的属性,在表单运行时按enter键就可以直接选择该按钮:DEF
20、AULT,把它设置为T.控件名、名称:Name 标题:Caption表单设置为模式表单:WindowType属性为1-模式单击按钮隐藏表单上的标签控件lable1:thisform.label1.visible=.F.计时控件Timerfor时间间隔200:Interval处输入200输入掩码:仅允许输入数字、负号和空格,宽度为10:InputMask处输入#只读文件:ReadOnly处选择.T.-真编辑框的控件edit1的滚动条去掉:ScrollBars属性设置为0-无文本框默认值设为0:Value属性为0文本框输入负数,命令按钮无效:设置文本框的InteractiveChange事件代码:
21、if thisform.Text1.value0 mand1.enabled=0 endif表单最大化按钮设为无效:MaxButton属性设置为.F.-假命令按钮设为“默认”按钮,表单在激活的情况下,不管焦点在哪个控件,都可以按enter来选择命令按钮:Default属性值设置为.T.-真表单初始化自动在vf主窗口内居中显示:AutoCenter属性值设置为.T.-真组合框设为下拉列表框:Style属性为2-下拉列表框修改组合框的interactivechange事件代码,当用户从组合框选择职员时,能够将该职员所签订单评价金额自动显示在文本框:双击组合框,在代码编辑器中将语句Text1.Val
22、ue=m2改为ThisForm.Text1.Value=m2LIBEL1在表单中居中:Alignment属性为2中央设置为当前系统日期:Value属性为=date()6、为表单新建一个名为没有method方法,调用表单。方法代码:wait mymethod window:在系统菜单中的表单-新建方法程序-新建方法程序对话框-输入mymethod-添加-双击表单空白处,编写表单的mymethod事件代码如下:wait mymethod window thisform.方法名7、表单运行时,单击该按钮可以将表单的高度设置成文本框中指定的值:ThisForm.Height=val(ThisForm.
23、Text1.value)8暂停按钮的Click事件代码ThisForm.Timer1.Interval=0继续ThisForm.Timer1.Interval=500退出 ThisForm.Release计时器ption=time()18套9、建立表单myform3,在表单上添加一个表格控件(名称为grdcourse)通过该控件显示表course的内容(要求recordsourtype属性必须为0):新建-表单-表格控件-Name属性为grdcourse-在表单设计器中选择表格控件并右击-生成器-表格项选项卡中将COURSE表的所有字段添加到选定字段中-修改表格控件的RecordSourceT
24、ype属性值为0-表。10、编写click的代码,使每在选项按钮组中选择一个文件类型,列表框就列出该类文件对应的文件Do Case Case thisform.optiongroup1.value=1 thisform.list1.rowsource=*.doc Case thisform.optiongroup1.value=2 thisform.list1.rowsource=*.xls Case thisform.optiongroup1.value=3 thisform.list1.rowsource=*.txt Endcase。四、程序改错select * from 销售表 into
25、 dbf 销售表2001 where 日期=1错误1:改为 STORE 0 TO x,s1,s2,s3。错误2:改为 x=val(thisform.text1.value)。错误3:改为 if mod(x,3)=0。Scan for错误1:将WHILE改为DO WHILE。错误2:将NEXT改为SKIP。错误3:将CASE改为IF第一处错误:MODIFY TABLE 学生 ADD 平均成绩 N(6,2) 改为:ALTER TABLE 学生 ADD 平均成绩 N(6,2) 第二处错误:DO WHILE EOF() 改为: DO WHILE NOT EOF() 第三处错误:REPLACE 平均成绩
26、 = cj1 改为:REPLACE 平均成绩 WITH cj1 五、查询设计器查询要运行筛选:查询2001年5月1日以后(含)所签订单orders.签订日期=2001-05-01六、视图1、视图含有选修了课程但没有参加考试(成绩字段为null)的学生信息:筛选:,首先选择score1.课程号字段,条件选择Is NULL,并选择否;再选择score1.成绩字段,条件选择Is NULL。2、利用视图查询视图中的全部信息:新建查询3、查询20001001(学号前8位数字串为班号)的学生记录:切换到筛选选项卡,在字段名中输入LEFT(Chengji.学号,8),条件选择=,实例为七、类1、添加一个基于
27、用户自定义类mytexox的控件,类mytexox存储子啊考生目录下的类库文件mytexox中:选中工具菜单下的选项命令,在选项对话框中选择控件选项卡,再选择可视类库单选按钮,然后单击添加按钮。在打开对话框中,选择考生文件夹下的类库文件myclasslib.vcx。单击表单控件工具栏上的查看类按钮,然后选择myclasslib,在命令按钮的上方添加一个mytextbox的控件。2、新建一个表单,并在表单上添加一个基于自定义类mybutton的按钮:添加button按钮八、菜单-要生成1、命令:退出系统菜单SET SYSMENU TO DEFAULT2、水平分组线:-3、在表单中调用快捷菜单:d
28、o 菜单名.mpr(先建快捷菜单,再建表单)4、设置访问健:查找F5、为菜单“查找”设置快捷键ctru+t在弹出的菜单设计器中,单击文件行中的编辑按钮,再单击查找行中的选项按钮,在弹出的提示选项对话框中的键标签处按下CTRL+T,最后单击确定按钮。九、顶层表单1、菜单加入表单,表单运行菜单显示表单:先建菜单,再建表单菜单显示常规选项顶层表单菜单生成表单showwindow2Intedo 菜单名.mpr with this,”xx” Destroyrelease menu xx 2、为顶层表单建立菜单,单击“退出”菜单时,关闭释放此顶层表单,并返回系统菜单(在过程中完成):在退出主菜单的结果中选
29、择过程并输入下列语句:myform.releaseset sysmenu to default3、返回系统菜单:SET SYSMENU TO DEFAULT十、项目1、在项目管理器中建立本地视图:打开项目管理器中的“数据库”在数据库中建立2、为表单新建方法,在命令按钮中调用方法:表单新建方法程序ThisForm.方法程序名十一、组合框设置组合框为下拉表框style,text1为只读文本:ReadOnly十二、列表框1、将列表框的list设为多选:MultiSelect属性为.T.-真2、错误1:FOR i=1 TO thisform.List1.ColumnCount 修改为:FOR i=1
30、TO thisform.List1.ListCount错误2:s=thisform.List1.value 修改为:s=thisform.List1.List(i)错误3:s=s+thisform.List1.value 修改为:s=s+,+thisform.List1.List(i)十三、选项按钮,复选框1、 在text1文本框显示当前系统日期年份:ThisForm.Text1.Value=year(date()2、新建一个方法,功能是使测试按钮不可用: 表单-新建方法程序-test的方法,在属性窗口中双击此方法,在弹出的窗口中编写用户自定义过程代码: mand1.Enabled=.f.-在
31、表单设计器环境下双击测试命令按钮,编写Click事件代码: ThisForm.Test。上年考题1、编写程序prog。Prg,在xuesheng表和chengji表中查询所有成绩不及格(分数小于60)的学生信SET TALK OFF OPEN DATABASE cj_m SELECT * FROM table3 WHERE .f. INTO TABLE temp SELECT 1 USE xuesheng INDEX ON 学号 TAG 学号 SELECT 2 USE chengji INDEX ON 学号 TAG 学号SET RELATION TO 学号 INTO xuesheng GO T
32、OP DO WHILE .NOT.EOF() IF chengji.数学60 INSERT INTO temp Values (xuesheng.学号,xuesheng.姓名,数学,chengji.数学) ENDIF IF chengji.英语60 INSERT INTO temp Values (xuesheng.学号,xuesheng.姓名,英语,chengji.英语) ENDIF IF chengji.信息技术60 INSERT INTO temp Values (xuesheng.学号,xuesheng.姓名,信息技术,chengji.信息技术) ENDIF SKIP ENDDO SELECT * FROM temp ORDER BY 分数,学号 DESC INTO ARRAY arr INSERT INTO table3 FROM ARRAY arr CLOSE DATABASE CLOSE TABLES ALL DROP TABLE temp SET TALK ON RETURN