① 利用Delphi开发网络数据库应用
Delphi 是具可视化界面的面向对象编程语言 它以其功能强大 简便易用等诸多特性 深受编程人员的欢迎 Delphi 中提供了数据库引擎 BDE(Borland Database Engine) 并内含众多的数据库调用构件 为编程人员开发客户/服务器应用程序提供了方便 通常情况下 利用 Delphi 开发数据库应用程序 可以使用TTable TDataSource TDBEdit TDBNavigator等构件 只要正确设置了构件的某些属性 再编写必要的程序代码对一些特定事件进行处理 就能够完成对多种数据库进行的数据处理 例如 记录的输入 修改 删除和查询等 这样做虽然只需要编写极少量的程序代码就能达到很好的效果 但如果在程序设计过程中 某些数据表的结构发生了改变 则必须修改与此数据表有关的所有构件的属性 这将使程序员陷入繁琐的重复劳动中
为避免上述的麻烦 我们可以在编写网络数据库应用程序时采用结构化查询语言 sql(Structured Query Language) 这样不仅可以更方便地与诸如 SQL Server Oracle 等各种后台数据库进行动态的数据交换 而且可以使程序的修改和移植更加灵活 我们以数据输入模块为例 说明开发客户/服务器应用程序时如何采用 SQL 语句实现数据处理功能 首先 判断是否已经有事务处理程序在运行 如果有 将其回卷(rollback) 如果没有 则启动一个新的事务 为数据的最终处理做准备 其次 是设置 SQL 语句 并将其写入 TQuery 构件中 最后 将事务提交或回卷 至此完成一条记录的数据输入
下面是以页面中的 TEdit 类型编辑框内容作为数据源 向数据库输入记录的过程代码
procere DataInsert(const qName:TQuery; szDBName:string;iNum:Integer; iMark:array of Integer;eName:array of TEdit); var i : Integer; szSQL : string; begin if DataMole DataBase InTransaction=true then DataMole DataBase RollBack; DataMole DataBase StartTransaction; szSQL := INSERT INTO +szDBName+ VALUES( for i:= to iNum do begin if iMark[i]= then szSQL := szSQL+eName[i] Text {非字符方式} else szSQL := szSQL+ +eName[i] Text+ ; {字符方式} if i=iNum then szSQL := szSQL+ ) else szSQL := szSQL+ ; end; qName Close; {关闭查询} qName SQL Clear; {清SQL特性内容} qName SQL ADD(szSQL); {添加SQL内容} szSQL := SELECT * FROM +szDBName; qName SQL ADD(szSQL); qName Open; {返回结果集} DataMole DataBase Commit; end; 以上过程包含五个参数 实现从页面中的一系列编辑框中读取数据 并向指定数据表输入的功能 其中 参数 qName 为页面中所使用的 TQuery 类构件的名称 参数 szDBName 是数据表的名称 参数eName 是 TEdit 类型的数组 列出了页面中包含数据的各编辑框名称 参数 iNum 是数据表中的字段个数 也即编辑框的个数 参数 iMark 是一个整数类型的数组 该参数表明相应字段是以何种方式输入的 如果是字符方式 需要在数据前后两端加上引号 需要注意的是 在调用本过程之前 应将数据库连接打开
DataMole DataBase Connected := true;
过程调用完成后 将数据库连接断开 DataMole DataBase Connected := false; 另外 开发网络数据库应用程序时 还可以使用存储过程 即 将预先编译过的 SQL 语句存储在服务器上 存储过程提前运行 且不与程序代码一同存储和编译 因此其对应主程序中的代码相对简洁 运行速度也较快 SQL 语句的集中存放 使其修改更容易
要创建向数据表中输入数据的存储过程 代码编写举例如下
CREATE PROC ProcTest @inttest *** allint @strtest char( ) output AS INSERT INTO TEST_User TRANS_TEST VALUES(@inttest @strtest) SELECT @strtest * FROM TEST_User TRANS_TEST 以上代码向数据表 TEST_User TRANS_TEST 添加数据 该数据表包括两个字段 第一个字段为 *** allint 类型的数据 参数类型定为 Input(在存储过程中可缺省) 第二个字段数据为长度为 的字符类型 参数类型为 Output
其模块程序的编写与 DataInsert 过程相似 区别主要在于模块的中间部分 对应的主要代码如下
StoredProc Close; {关闭存储过程} StoredProc Params[ ] ParamType := ptInput; {设置存储过程的参数类型} StoredProc Params[ ] AsInteger := ; {设置存储过程中参数的数据} StoredProc Params[ ] ParamType := ptOutput; StoredProc Params[ ] AsString := abcd ; StoredProc Open; {打开存储过程} 其中 StoredProc 是 TStoredProc 类型的构件名称 Params[ ] 是存储过程中的第一个参数 对应存储过程 ProcTest 可以用ParamByName( @inttest )代替 存储过程的第二个参数与其类似
lishixin/Article/program/Delphi/201311/25067
② 请问《数据库原理及其应用教程》这门课对计算机专业考研重要吗
主要看考什么专业的研究生,如果是计算机方面,肯定会涉及到数据库原理及其应用方面的知识的。
数据库原理及其应用:以关系数据库系统为核心,系统全面地阐述了数据库系统的基本概念、基本原理和应用技术,主要内容包括数据库技术概述、关系数据库、关系数据库的标准语言SQL、关系数据库设计、数据库保护、网络数据库、网络数据库管理系统SQL Server 2000、分布式数据库系统、XML数据库等
考研,即参加硕士研究生入学考试。其英文表述是“Take part in the entrance exams for postgraate schools”。考研首先要符合国家标准,其次按照程序:与学校联系、先期准备、报名、初试、调剂、复试、复试调剂、录取等方面依次进行。
③ 求数据库原理及应用视频教程
上海交通大学数据库系统及应用
全27讲
链接:https://pan..com/s/155pxn4yyteJ70egCyq8zZg
提取码:5r1g
上海交通大学数据库系统及应用 全27讲网络网盘
④ 如何使用php Myadmin创建Mysql数据库
phpMyadmin是一个被普遍应用的网络数据库管理系统,使用起来较为简单,可以自动创建,也可以运行SQL语句创建,下面分别演示两种方式创建Mysql数据库的步骤:
一、使用菜单自动创建数据库
登陆phpMyAdmin
在php MyAdmin右边窗口中,填写数据库名称,点创建即可。 例如我们这里创建一个名字为:cncmstest 的数据库
备注:其实两种创建数据库方式本质是一样的,第一种是利用系统菜单自动组合建库SQL并执行,第二种是手动输入建库SQL,如果熟悉SQL操作的话,第二种更快捷。
⑤ 应用程序如何与数据库建立连接
1、首先打开visual studio 2017开发工具进入软件主界面。
⑥ 在网页引用数据库的详细方法(如何引用数据库数据)
1SQLServer2000常用的数据导入导出方法1
1通过DTS的设计器进行导入或导出DTS的设计器功能强大,支持多任务,也是可视化界面,易于操作,但熟悉的人一般不多,如果只是进行SQLServer数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动
在SQLServerEnterpriseManager中,展开服务器左边的+,选择数据库,右击,选择Alltasks/ImportData
(或Alltasks/ExportData
),进入向导模式,然后按照提示一步一步进行就可以了,里面分得非常详细,可以灵活的在不同数据源之间复制数据,非常的方便,而且还可以另存成DTS包,如果以后还有相同的复制任务,直接运行DTS包就行,省时省力
也可以直接打开DTS设计器,方法是展开服务器名称下面的DataServices,选LocalPackages,在右边的窗口中右击,选NewPackage,就打开了DTS设计器
值得注意的是:档闹巧如果源数据库要拷贝的表有外键,注意移动的顺序,有时要分批移动,否则外键主键,索引可能丢失,移动的时候选项旁边的提示说的很明白,或者一次性的复制到目标数据库中,再重新建立外键,主键,索引
其实在建立数据库时,建立外键,主键,索引的文件应该和建表文件分开,而且用的数据文件也分开,并分别放在不同的驱动器上,有利于数据库的优化
1
2利用Bcp工具这种工具虽然在SQLServer2000的版本中不推荐使用,但许多数据库管理员仍很喜欢用它,尤其是用过SQLServer早期版本的人
不过Bcp确实有其局限性,首先它的界面不是图形化的;其次它只是在SQLServer的表(视图)与文本文件之间进行复制
但是另一方面,它也有其优点:性能好,开销小,占用内存少,速度快
1
3利用备份和恢复先对源数据库进行完全备份,备份到一个设备(device)上,然后把备份文件复制到目的服务器上(恢复的速度快),进行数据库的恢复操作,在恢复的数据库名中填上源数据库的名字(名字必须相同),选择强制型恢复(可以覆盖以前数据库的选项),在选择从设备中进行恢复,浏览时选中备份的文件就行了
这种方法可以完全恢复数据库,包括外键,主键,索引
1
4直接拷贝数据文件把数据库的数据文件(*
mdf)和日志文件(*
ldf)都拷贝到目的服务器,在SQLServerQueryAnalyzer中用语句进行恢复:EXECsp_attach_db@dbname=’test’,@filename1=’d:mssql7data est_data
mdf’,@filename2=’d:mssql7data est_log
ldf’这样就把test数据库附加到SQLServer中,可以照常使用,如果不想用原来的日志文件,可以用如下的命令:EXECsp_detach_db@dbname=’test’EXECsp_attach_single_file_db@dbname=’test’,@physname=’d:mssql7data est_data
mdf’这个语句的作用是仅行键仅加载数据文件,日志文件可以由SQLServer数据库自动添加,但是原来的日志文件中记录的数据就丢失了
1
5在应用程序中定制可以在应用程序(PB、VB)中执行自己编写的程序,也可以在QueryAnalyzer中执行,这种方法比较灵活,其实是利用一个平台连接到数据库,在平台中用的主要是SQL语句,这种方法弯谨对数据库的影响小,但是如果用到远程链接服务器,要求网络之间的传输性能好,一般有两种语句:1
5
1select
intonew_tablenamewhere
1
5
2insert(into)old_tablenameselect
from
where
这两种方式的区别是前者把数据插入一个新表(先建立表,再插入数据),而后者是把数据插入已经存在的一个表中,一般来说,第二条语句强于前者
1
6SQLServer的复制功能SQLServer提供了强大的数据复制功能,也是最不易掌握的,具体应用请参考相关资料,值得注意的是要想成功进行数据的复制工作,有些条件是必不可少的:1
6
1SQLServerAgent必须启动,MSDTC必须启动
1
6
2所有要复制的表必须有主键
1
6
3如果表中有text或image数据类型,必须使用withlog选项,不能使用withno_log选项
另外maxtextreplsize选项控制可以复制的文本和图像数据的最大规模,超过这个限制的操作将失败
1
6
4在要进行复制的计算机上,应该至少是隐含共享,即共享名是C$或D$
1
6
5为SQLServer代理使用的WindowsNT账号不能是一个本地的系统账号,因为本地的系统账号不允许网络存取
1
6
6如果参与复制的服务器在另外的计算机域中,必须在这些域之间建立信任关系
2实现基于网页的数据库数据导入那么,如何实现基于网页的数据库数据导入呢,下面利用一个比较简单的网络介绍一下
假设某局域网的网络拓扑结构如下所示:其中服务器A和工作站B位于局域网内,工作站C与服务器D位于Internet内,局域网与Internet是物理隔离的,工作站C与工作站D在同一个办公室内,服务器A上的数据库管理系统是Oracle,服务器D上的数据库管理系统是SQLServer2000
由于工作需要,要求把服务器A的有关数据导入到服务器D上
2
1通常的工作流程:2
1
1在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件
2
1
2用移动硬盘把dbf文件从工作站B拷贝到工作站C上
2
1
3在工作站C上,用ftp软件将dbf文件上传到服务器D上
2
1
4在工作站C上,运行远程桌面软件登录到服务器D上
2
1
5在服务器D上,执行DTS,将dbf文件中的数据导入到SQLServer数据库
2
1
6在服务器D上,运行相关存储过程,做数据的后期处理工作
在许多情况下,因为各种不同情况的需要,这个工作流程每天(甚至更短的时间内)就要执行一次,非常繁琐,而且使用手工操作,很容易出错
下面提出一种改进的方案
2
2改进后的工作流程2
2
1在工作站B上运行客户端软件,将服务器A上数据导入到本地的dbf文件
2
2
2用移动硬盘把dbf文件从工作站B拷贝到工作站C上
2
2
3在工作站C上,打开服务器D上的相关网页,利用网页将dbf文件的数据导入到服务器D上的SQLServer数据库中
首先,要在网页里实现上传功能,把dbf文件从工作站C上传到服务D上,这里就不多介绍了
要通过网页把dbf文件导入到SQLServer中,需要借助DTS可编程对象
DTS包含一组可编程COM对象,主要包含:DTS
Package、DTS
Connection、DTS
Step、DTS
、DTS
、DTS
在ASP网页里,通过用VBScript脚本创建调用DTS可编程COM对象,可以完成数据导入任务
SQLServer2000有比较详细的文档资料介绍DTS编程,但没有给一个具体的例子,如果仅参考文档资料,难度比较大,开发时间也会相当长
这里大概的介绍一下开发程序的过程
首先,在SQLSever2000的DTS设计器里,创建DTS包,实现从dbf文件到SQLServer2000的数据导入,把后期处理的存储过程也添加到DTS包里
将这个DTS包另存为VBScript文件
有了这个VBScript文件,开发程序就容易多了,加入所需要的其他代码,就可以在网页里实现数据库的数据导入
参考文献【1】张莉,等
SQLServer数据库原理及应用教程〔M〕
北京:清华大学出版社,2003
【2】梁方明
SQLServer2000数据库编程〔M〕
北京:北京希望电子出版社,2002
【3】LouisDavidson(美)
SQLServer2000数据库设计权威指南〔M〕
中国电力出版社,2002
[