mysql数据库总结教程文件_第1页
mysql数据库总结教程文件_第2页
mysql数据库总结教程文件_第3页
mysql数据库总结教程文件_第4页
mysql数据库总结教程文件_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Good is good, but better carries it.精益求精,善益求善。mysql数据库总结-完成的任务1参与系统的需求分析在任何软件系统开始编写之前,系统需求分析都是首先需要完成的内容,这关系到软件的整体功能、结构以及方法,它是整个项目中必不可少的环节。经过分析:按照结构功能,系统分为数据库服务器,策略机服务器,通讯机服务器。其中,数据库服务器处于中枢地位,独立的和策略机、通讯机服务器通讯。其中数据库服务器功能有:1.存储策略机和通信机的数据,分析数据并建表。2.与策略机的通信,根据通信需要对数据库进行读、写、更新及删除数据的操作;3.与通信机的通信,根据通信需要对数据库

2、进行读、写、更新及删除数据的操作。4.备份数据库。2参与数据库方案制定根据通信策略服务的功能特点,数据库功能主要分为与策略机的通信和与通讯机的通信两个模块。(1)与通讯机的通信模块(2)与策略机的通信模块3参与数据库表的创建根据系统结构及功能,基于冗余性等数据库表创建规则,完成数据库表的创建。4参与系统程序流程图的绘制在以上基础上,根据系统功能,分析软件结构,绘制数据库服务器软件流程图。5数据库服务器程序的编写与测试编写数据库服务器整体结构程序、同步程序以及与数据库与通讯机通讯程序。6软件的整体打包和系统服务控制器使用vs自带的“安装部署工具”和setupfactory打包软件,并编写服务控制

3、器程序,修改ip与控制系统服务状态。所学到的知识点1MySQL数据库1)MySQL语句:(1)创建数据库createDATABASEdatabase-name(2)删除数据库dropdatabasedbname(3)创建新表createtabletabname(col1type1notnullprimarykey,col2type2notnull,.)(4)删除新表Droptabletablename;(5)增加一个列Altertabletabnameaddcolumncoltype(6)添加主键:Altertabletabnameaddprimarykey(col)(7)创建索引:creat

4、euniqueindexidxnameontabname(col.)删除索引:dropindexidxname(8)创建视图:createviewviewnameasselectstatement删除视图:dropviewviewname(9)说明:几个简单的基本的sql语句选择:select*fromtable1where范围插入:insertintotable1(field1,field2)values(value1,value2)删除:deletefromtable1where范围更新:updatetable1setfield1=value1where范围查找:select*fromta

5、ble1wherefield1like%value1%-like的语法很精妙排序:select*fromtable1orderbyfield1,field2desc总数:selectcount*astotalcountfromtable1求和:selectsum(field1)assumvaluefromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最小:selectmin(field1)asminvaluefromtable1实际应用中,select语句使用比较频繁,

6、而且也极为复杂,有时难以处理,需要在软件上采取其他方法。2)C#中使用MySQLDriverCS连接MySQL数据库MySQLDriverCS是MySQL提供的一种驱动连接包,在MySQLDriverCS安装文件夹下面找到MySQLDriver.dll,安装完成后将MySQLDriver.dll添加引用到项目中。并时在程序命名空间中添加usingMySQLDriverCS;即可。值得注意的是,MySQL与数据库的连接次数不能过于频繁,即应该避免“短时间多次与数据库连接”,否则会出现exception。(1)从数据库中读数据ArrayListpidlist=newArrayList();/建立链

7、表对象MySQLConnectionmc=newMySQLConnection();mc=newMySQLConnection(newMySQLConnectionString(“localhost”,“mysql”,“root”,”password”).AsString);/连接数据库trymc.Open();/打开连接MySQLCommandfirstCmd=newMySQLCommand(setnamesgb2312,mc);/设置字符格式,防止出现中文乱码firstCmd.ExecuteNonQuery();stringCommandText=selectNodeID,ParentID

8、,NodeName,NodeSeriesfromnodeinfo;MySQLCommandSecondCmd=newMySQLCommand(CommandText,mc);/声明一个MysqlCommand变量,该变量用于执行数据库命令SecondCmd.ExecuteNonQuery();/执行命令,向表中添加节点信息MySQLDataReadermsdr;/该变量用于存储从数据库中读取的值msdr=SecondCmd.ExecuteReaderEx();/从数据库中访问数据,将返回值赋给msdrwhile(msdr.Read()intid=msdr.GetInt16(0);pidlist

9、.Add(id);/数据1stringname=msdr.GetString(2);pidlist.Add(name);/节点名称msdr.Close();catch(MySQLExceptionex)stringerror=ex.Message;Console.WriteLine(error);returnnull;finallymc.Close();/关闭连接(2)向数据库中插入、修改或删除记录MySQLConnectionmc=newMySQLConnection();/新建连接mc=newMySQLConnection(newMySQLConnectionString(“localho

10、st”,“mysql”,“root”,”password”).AsString);/连接数据库trymc.Open();/打开连接MySQLCommandfirstCmd=newMySQLCommand(setnamesgb2312,mc);/设置字符格式,防止出现中文乱码firstCmd.ExecuteNonQuery();MySQLCommandmsc=newMySQLCommand();/声明一个MysqlCommand变量,该变量用于执行数据库命令msc.Connection=mc;msc.CommandText=sqlquery;/(插入、修改或删除记录的sql语句)msc.Exec

11、uteNonQuery();/执行命令msc.Dispose();returntrue;catch(MySQLExceptionex)Console.WriteLine(ex.Message);returnfalse;finallymc.Close();/关闭连接2C#语言注意:在程序编写时,必须加注视1)TCP监听程序IPAddressm_host=IPAddress.Parse(MainProcess.LocalIP);TcpListenerlistenning=newTcpListener(m_host,MainProcess.DataBasePort);listenning.Start

12、();2)TCP发送机接收程序(1)发送TcpClientclient=newTcpClient(IpDestination,PortDestination);NetworkStreamclientFlow=client.GetStream();bytebyteTime=Encoding.BigEndianUnicode.GetBytes(str);clientFlow.Write(byteTime,0,byteTime.Length);clientFlow.Close();client.Close();(2)接收TcpClientconnectionsocket;=listenning.Ac

13、ceptTcpClient();NetworkStreamreceiveFlow=connectionsocket.GetStream();receiveBytes=receiveFlow.Read(receiveBuffer,0,receiveBuffer.Length);connectionsocket.Close();值得注意的是:c#中发送连接异常时,进入异常等待时间约为11秒。2)定时器定时器的创建、触发事件、定时时间以及定时器的关闭aTimer1=newSystem.Timers.Timer();aTimer1.Elapsed+=newElapsedEventHandler(OnT

14、imedEvent1);aTimer1.Interval=60000;aTimer1.Enabled=true;aTimer1.Enabled=false;publicstaticvoidOnTimedEvent1(objectsource,ElapsedEventArgse)3)多线程ThreadlistenPort8010=newThread(listenMethod);listenPort8010.Start();值得注意的是:C#中没有完善的强制关闭线程的方法。4)读写ini文件(1)读DllImport(kernel32)privatestaticexternlongWritePri

15、vateProfileString(stringsection,stringkey,stringval,stringfilePath);stringPath=C:ProgramFiles网络监控系统数据库服务DatabaseIP.ini;StringBuilderreadData=newStringBuilder(255);stringSection=ip;stringKey=DatabaseIP;GetPrivateProfileString(Section,Key,readData,255,Path);LocalIP=readData.ToString();(2)写DllImport(ke

16、rnel32)publicstaticexternintGetPrivateProfileString(stringsection,stringkey,stringdef,StringBuilderretVal,intsize,stringfilePath);stringPath=C:ProgramFiles网络监控系统数据库服务DatabaseIP.ini;stringSection=ip;stringKey=DatabaseIP;stringwriteData=databaseIP1.Text;WritePrivateProfileString(Section,Key,writeData,

17、Path);5)系统服务在“引用”中添加“System.ServiceProcess”然后再工程文件中添加语句usingSystem.ServiceProcess;即可使用系统服务方法类。如下为遍历计算机中的系统服务ServiceControllerservices=ServiceController.GetServices();foreach(ServiceControllerscTempinservices)if(scTemp.ServiceName!=null)switch(scTemp.ServiceName)系统服务的开启与关闭ServiceControllerdatabaseSer

18、vice=newServiceController(Net_DatabaseServer);databaseService.Start()databaseService.Stop()3软件的打包使用vs自带的“安装与部署”只能生成.msi文件,而且打包设置几乎没有,使用起来非常不便,此次采用setupfactory与vs结合的方法对软件进行打包处理。针对3个服务器程序,首先使用vs自带的“安装与部署”生成3个.msi文件,可以将其添加入setupfactory中的初始文件中,在打包程序中进行引用,但是这些文件必须通过MSItoEXECompiler工具转换为exe文件,否则程序会不予执行。Se

19、tupfactory中是以屏幕操作为基础的,用户使用程序通过编辑屏幕就可以进行软件安装时对电脑的设置。1)界面编辑通过“添加”可以在“安装之前”、“安装之时”、“安装之后”添加多种屏幕。如对话框屏幕、输入框屏幕、选择框屏幕等等。2)编程环境3)编程语言在不熟悉Setupfactory语言是可以通过“添加操作”选择对注册表,对话框,文件的属性、内容以及安装文件等执行相关操作。语言使用(1)对安装文件的执行File.Run(_TempLaunchFolder.数据库.exe,SW_SHOWNORMAL,false);Application.Sleep(5000);repeatSetupEnd=File.IsInUse(_TempLaunchFolder.数据库.exe);untilnotSetupEnd;Screen.Next();(2)注册表Registry.SetValue(HKEY_LOCAL_MACHINE,SYSTEMCurrentControlSetServicesNet_DatabaseServer,Description,网络监控系统的服务项,用于提供数据库服务,REG_SZ);Registry.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论