《2022年orcle数据库课程设计方案.docx》由会员分享,可在线阅读,更多相关《2022年orcle数据库课程设计方案.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、oracle 网络数据库课程设计题 目:事务治理系统系 别:数学与信息工程学院专业(含班级): 10 软件( 1)班学 号:姓 名:指导老师:职称讲师填表日期: 2021 年 9 月 4 日一、 选题的依据及意义:Oracle 是一款安全性很高的大型数据库,它比sql 或是 access 等中小型的数据库最大的特点就是安全性高,许多大型软件一般都采纳oracle作为后台数据库,而且 oracle读取数据快也是它的特点,稳固性也比其他数据库好很多,以前在学习过程中很少接触oracle而是比较多用 sql 或是 access 作为后台数据库,现在通过跟田老师学了一学期的oracle数据,发觉 or
2、acle数据库是很重要的,所以要学会敏捷的使用,虽然oracle数据库的语法和 sql 和access 的语法基本上没有什么差别,但oracle有它自己特殊的技术,有时候 学起来很吃力,许多的概念机会没有接触过,比如游标技术很少接触,也不知道这么使用,现在自己就尝试的使用oracle作为后台的数据库和 vs2005 作为前台进行开发事务治理系统小软件,体会oracle数据库的带来的优点,现在许多公司也要求他的员工肯定要懂的oracle数据库技术,这是主流;当然 sql 在中小型的软件公司比较多用,当是作为一个程序开发者必需要懂得oracle数据库开发技术;现在, 数据库技术仍在不断进展 , 并
3、且不断的与其它运算机技术相互渗透. 数据库技术与网络通信技术相结合 , 产生了分布式数据库系统 . 数据库技术与面对对象技术相结合 , 产生了面对对象数据库系统等各种数据库系统.在人类迈向 21 世纪学问经济的时候 , 信息变为经济进展的战略资源 , 信息技术已成为社会生产力重要的组成部分. 人们充分熟识到 , 数据库是信息化社会中信息资源治理与开发利用的基础 . 对于一个国家 , 数据库的建设规模 , 使用水平已成为衡量该国信息化程度的重要标志 . 因此, 数据库的学习是特别重要的 .二、 本课程设计内容 或要求1. 第一在 oracle里创建后台数据库2. 如何在 vs2005 中创建工程
4、后在 .net组件中添加引用 oracle的命名空间也就是 Systems.Data.OracleClient添加到工程中去;3. 添加完后引用命名空间 Using System.Data.OracleClient;4. 在前台程序连接后台的 oracle数据库5. 如何使用 OracleConnection进行连接数据库6. 如何使用 OracleCommand执行 sql 语句7. 如何使用 OracleDataReader 读取数据8. 如何使用 ExecuteNonQuery 执行非查询的 SQL语句9. 如何打开和关闭念数据库三、 争论目标能胜利连接数据库,并对数据库的数据进行操作,
5、在开发过程中体会oracle与sql 数据库的异同,明白 oracle数据库的读取速度,由于对 oracle数据库不 太熟识所以要求要会在不断调试过程中更多的明白oracle技术的特点;明白oracle的优点是什么,在那些方面最突出,并要查阅相关资料进一步懂得oracle数据库操作,最终能实现前台对oracle数据库的正确操作;oracle 网络数据库课程设计实现方案1. 在 oracle 中创建表代码如下(1) 创建表 shiwu ;创建表 shiwu 的脚本如下:CREATE TABLE shiwu Id NUMBER PRIMARY KEY,CreateDate VARCHAR2 50
6、NOT NULL , Subject VARCHAR2100 NOT NULL , Status VARCHAR2 50 NOT NULL ,tTypeId NUMBER,Place VARCHAR2 100,Teacher VARCHAR2 50,StartDate VARCHAR2 50,EndDate VARCHAR2 50, SignSDate VARCHAR250 , SignEDate VARCHAR2 50,Attendant VARCHAR2 100, IsFree NUMBER1 ,Cost NUMBER,Detail VARCHAR23000,AttList VARCHAR
7、2 1000;(2) 创建表 shiwugSign ;创建表 shiwuSign的脚本如下:CREATE TABLE shiwuSign Id NUMBER PRIMARY KEY, TrId NUMBER,SignDate VARCHAR2 50, EmpName VARCHAR210, Status VARCHAR2 50 ;3创建表 Meeting ;创建表 Meeting 的脚本如下:CREATE TABLE clz.Meeting Id NUMBER PRIMARY KEY, Subject VARCHAR2 200,StartDate VARCHAR2 50,EndDate VAR
8、CHAR2 50,StartTime VARCHAR2 50,EndTime VARCHAR2 50,RoomNo VARCHAR2 20,Preside VARCHAR2 100,OAttendant VARCHAR2 1000,IAttendant VARCHAR2 1000,Detail VARCHAR2 4000,Status VARCHAR2 10,CreateDate VARCHAR2 50,EmpName VARCHAR2 10 ;(4) 创建表 MeetingRooms;创建表 MeetingRooms 的脚本如下:CREATE TABLE clz.MeetingRooms R
9、oomNo VARCHAR2 20,RoomName VARCHAR2 50 ,RoomSize NUMBER, Resources VARCHAR2 500 ;(5) 创建表 Information;创建表 Information的脚本如下:CREATE TABLE clz.Information InfoNo VARCHAR2 20 NOT NULL , InfoName VARCHAR2100, InfoType VARCHAR250,ICount NUMBER, IPrice NUMBER,Detail VARCHAR2 2000,CreateDate VARCHAR2 50 ;(6)
10、 创建表 InfoIn;创建表 InfoIn的脚本如下:CREATE TABLE clz.InfoIn Id NUMBER PRIMARY KEY, InDate VARCHAR2 50,InfoNo VARCHAR2 20,InCount NUMBER, EmpName VARCHAR240, Detail VARCHAR2 2000, Flag NUMBER ;(7) 创建表 InfoLend ;创建表 InfoLend的脚本如下:CREATE TABLE clz.InfoLend Id NUMBER PRIMARY KEY, InfoNo VARCHAR2 20,LendDate VAR
11、CHAR2 50,EmpName VARCHAR240,LendCount NUMBER, Flag NUMBER ;(8) 创建表 Users ;创建表 Users 的脚本如下:CREATE TABLE CLZ.Users UserNameVARCHAR240 PRIMARY KEY, EmpNameVARCHAR240 NOT NULL,UserPwdVARCHAR240 NOT NULL,UserType NUMBER;(9) 创建表 ygxinxi;创建表 ygxinxi的脚本如下:CREATE TABLE CLZ.ygxinxiEmpNo VARCHAR210 PRIMARY KEY
12、, EmpName VARCHAR250 NOT NULL, EmpVARCHAR250 NOT NULL, Telphone VARCHAR250 NOT NULL ;(10) 创建表 zhiban ;创建表 zhiban的脚本如下:CREATE TABLE CLZ.zhibanEmpNO VARCHAR210 PRIMARY KEY, EmpName VARCHAR250 NOT NULL, Zbgangwei VARCHAR250 NOT NULL,ZDate VARCHAR250 NOT NULL)最终用 COMMIT命令提交表2. 建立操作数据库的类便利调用public class
13、CADOConn public OracleConnection conn; /用于连接 Oracle 数据库OracleCommand command;/用于执行 SQL语句/连接字符串String ConnString = Data Source=.;Persist Security Info=True ;User ID=clz ;Password=clz ;Unicode=True ; .1.CADOConn()函数的代码如下: CADOCon(n)conn =new OracleConnectionConnString;2.OracleDataReader GetDataReaderS
14、tring sql函数的代码如下:/执行查询语句public OracleDataReader GetDataReaderString sqltryOracleDataReader reader;/假如没有连接,就建立连接if conn = nullconn = new OracleConnectionConnString;/定义OracleComman对d 象,用于执行 SELEC语T 句库连接SELEC语Tcommand = new OracleCommandsql, conn;conn.Open;/打开数据reader = command.ExecuteReader;/执行句,数据储存到
15、 OracleDataReader 对象中return reader;/返回读取的OracleDataReader 对象catch Exception ethrow e;3.bool ExecuteSQLString sql函数的代码如下:/执行INSERT、UPDAT或E DELETE语句 public bool ExecuteSQLString sqltry/假如没有连接,就建立连接if conn = nullconn = new OracleConnectionConnString;/定义OracleComman对d 象,用于执行 SELEC语T 句command = new Oracl
16、eCommandsql, conn;conn.Open;/打开数据库连接command.ExecuteNonQuery ; /执行非查询的 SQL语句conn.Close;/关闭数据库连接return true;/返回true ,表示胜利catch Exception ethrow e;3 部分代码实现1 登录模块实现代码private void btnOK_Clickobject sender, EventArgs eif txtUserName.Text.Trim = MessageBox.Show请输入用户名 ;txtUserName.Focus;return;if txtUserPwd
17、.Text.Trim = MessageBox.Show请输入密码 ;txtUserPwd.Focus;return;/猎取用户信息FrmMain.curUser.GetDatatxtUserName.Text.Trim;/假如次登录失败 , 就退出系统if logincount = 3Application.Exit;if FrmMain.curUser.UserPwd .= txtUserPwd.Text.Trimlogincount+;MessageBox.Show用户名不存在或密码不正确 ;return;Close;( 2)会议处理模块代码using System ;using Sys
18、tem.Collections.Generic;using System.Text;using System.Data;using System.Data.OracleClient;namespace Officepublic class CMeetingpublic int Id;/会议编号public String Subject;/会议主题public String StartDate;/开头日期 public String EndDate;/终止日期public String StartTime;/开头时间 public String EndTime;/终止时间public Strin
19、g RoomNo;/会议室编号public String Preside;/主持人 public String OAttendant;/外部与会人员public String IAttendant;/内部与会人员public String Detail;/会议内容介绍public String Status;/当前状态:创建、发布public String CreateDate;/创建时间public String EmpName;/创建人/下面两个数据在 Load_by_NoDate 函数中使用public String a_MeetId;public String a_MeetSubjec
20、t;/初始化参数public void InitId = 0;Subject = ;StartDate = ;EndDate = ;StartTime = ;EndTime = ;RoomNo = ;Preside = ;OAttendant = ;IAttendant = ;Detail = ;Status = ;CreateDate = ;EmpName = ;a_MeetId = new string500;a_MeetSubject = new string500;/构造函数public CMeetingInit;/读取指定的记录,参数 cId 表示要读取的记录编号public voi
21、d GetDataString cIdCADOConn m_ado = new CADOConn;OracleDataReader reader;String sql;sql = SELECT * FROM Meeting WHERE Id= + cId;/执行 SELECT语句reader = m_ado.GetDataReadersql;if .reader.ReadInit;elseId = int.ParsereaderId.ToString;Subject = readerSubject.ToString;StartDate = readerStartDate.ToString;En
22、dDate = readerEndDate.ToString;StartTime = readerStartTime.ToString;EndTime = readerEndTime.ToString;RoomNo = readerRoomNo.ToString; Preside = readerPreside.ToString;OAttendant = readerOAttendant.ToString;IAttendant = readerIAttendant.ToString;Detail = readerDetail.ToString;Status = readerStatus.ToS
23、tring;CreateDate = readerCreateDate.ToString;EmpName = readerEmpName.ToString;/判定某个时间段是否存在会议记录,参数cId表示会议编号public bool HaveMeetingString cIdbool result;CADOConn m_ado = new CADOConn;OracleDataReader reader;String sql;sql = SELECT * FROM Meeting WHERE RoomNo= + RoomNo +AND + StartDate + BETWEEN StartD
24、ate AND EndDate OR + EndDate + BETWEEN StartDate AND EndDate AND + StartTime + BETWEEN StartTime AND EndTime OR + EndTime + BETWEEN StartTime AND EndTime AND Id + cId;/执行 SELECT语句reader = m_ado.GetDataReadersql;if reader = nullresult = false;elseresult = true;return result;/查找某个时间段内的会议信息记录,参数TmpRNo表
25、示会议室编号, TmpDate表示指定日期, TmpSTime表示时间段的开头时间, TmpETime表示时间段的终止时间publicvoidLoad_by_NoDateStringcRoomNo, StringcDate, String cSTime, String cETimeCADOConn m_ado = new CADOConn;OracleDataReader reader;String sql;sql=SELECT SELECT Id,SubjectFROM MeetingWHERERoomNo=+ cRoomNo + AND + cDate + BETWEEN StartDat
26、e AND EndDate AND +StartTime+cSTime+ OR StartTime=+ cETime + ;/执行 SELECT语句reader = m_ado.GetDataReadersql;int i=0;while reader.Reada_MeetIdi = readerId.ToString;a_MeetSubjecti = readerSubject.ToString;i+;/删除指定的记录,参数 cId 表示记录编号public void sql_deleteString cIdCADOConn m_ado = new CADOConn;String sql =
27、 DELETE FROM Meeting WHERE Id= + cId;m_ado.ExecuteSQLsql;/插入新的记录public void sql_insert /猎取当前时间System.DateTime now = new System.DateTime;now = System.DateTime.Now;CreateDate = now.ToString;CADOConn m_ado = new CADOConn;Stringsql=INSERTINTOMeetingVALUESOFFICESYS.S_MEETINGID.NEXTVAL, +Subject+,+StartDa
28、te+,+EndDate + , + StartTime + ,+ EndTime + , + RoomNo + , + Preside + , + OAttendant + ,+ IAttendant + , + Detail + ,创建, +CreateDate + , + EmpName + ;m_ado.ExecuteSQLsql;public void sql_updateString cId /修改指定的记录,参数cId表示记录编号CADOConn m_ado = new CADOConn;String sql = UPDATE Meeting SET Subject= +Subj
29、ect + , StartDate=+StartDate+ ,EndDate=+ EndDate + , StartTime= + StartTime+,EndTime=+ EndTime + ,RoomNo= + RoomNo + , Preside=+Preside+ ,OAttendant=+ OAttendant+, IAttendant=+IAttendant+,Detail=+Detail+ WHERE Id= + cId ;m_ado.ExecuteSQLsql;/更新会议状态,参数 cId表示会议编号public void sql_updateStatusString cIdC
30、ADOConn m_ado = new CADOConn;String sql = UPDATE Meeting SET Status= + Status + Where Id= + cId;m_ado.ExecuteSQLsql;oracle 网络数据库课程设计小结本系统是采纳的 vs2005 为前台 oracle为后台的数据库进行编程来实现系统功能的,在编写这个系统的时也遇到了许多问题,由于对ORACLE数据库的操作不是很娴熟,在 c#连接 ORACLE数据库时就遇到了难题,查了许多资料,也问了其他的同学,最终才连接胜利;用c#编写代码的时候也遇到了一些问题, 特殊是各个窗体之间的联系以及
31、界面的设计,有些控件的属性、方法、大事不是很熟识,设计起来会比较吃力;通过查询相关资料,反复的操作才能把握设计的技巧;通过对这个系统的设计,我学会了ORACLE数据库的安装、创建新数据库、创建用户以及与应用程序的连接, 以及如何创建和保护表;把握了ORACLE的数据操纵语言,包括INSERT、UPDAT、E DELETE语句;也把握了通过EXP 指令导出指定用户的全部数据库对象;同时也提高了用 c#编程的才能和技,对 oracle 有新的懂得;通过此次课程设计,让我明白了自己对 ORACLE数据库和 c#编程方面的一些学问把握的仍不够,只有平常多动手练习才能真正把握学问;而且在开发的的时候,肯定要和同学多争论,才能更清楚地明白设计的思路,才能透彻懂得数据库操作和编程的一些思想,以便比较顺当的编写代码,防止走弯路;仍有如想提高自己的动手才能,肯定要加强练习,多做多练,假如有不懂的话可以去查阅相关资料或是问老师,最终要感谢的是田老师,是他帮我们对oracle有很快的懂得;参考文献【1】 c#课程设计案例编程王震江清华高校出版社【3】 Oracle 10g数据库治理与应用系统开发马晓玉清华高校出版社