版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。mysql數(shù)據(jù)庫總結(jié)-完成的任務(wù)1參與系統(tǒng)的需求分析在任何軟件系統(tǒng)開始編寫之前,系統(tǒng)需求分析都是首先需要完成的內(nèi)容,這關(guān)系到軟件的整體功能、結(jié)構(gòu)以及方法,它是整個項目中必不可少的環(huán)節(jié)。經(jīng)過分析:按照結(jié)構(gòu)功能,系統(tǒng)分為數(shù)據(jù)庫服務(wù)器,策略機服務(wù)器,通訊機服務(wù)器。其中,數(shù)據(jù)庫服務(wù)器處于中樞地位,獨立的和策略機、通訊機服務(wù)器通訊。其中數(shù)據(jù)庫服務(wù)器功能有:1.存儲策略機和通信機的數(shù)據(jù),分析數(shù)據(jù)并建表。2.與策略機的通信,根據(jù)通信需要對數(shù)據(jù)庫進行讀、寫、更新及刪除數(shù)據(jù)的操作;3.與通信機的通信,根據(jù)通信需要對數(shù)據(jù)庫
2、進行讀、寫、更新及刪除數(shù)據(jù)的操作。4.備份數(shù)據(jù)庫。2參與數(shù)據(jù)庫方案制定根據(jù)通信策略服務(wù)的功能特點,數(shù)據(jù)庫功能主要分為與策略機的通信和與通訊機的通信兩個模塊。(1)與通訊機的通信模塊(2)與策略機的通信模塊3參與數(shù)據(jù)庫表的創(chuàng)建根據(jù)系統(tǒng)結(jié)構(gòu)及功能,基于冗余性等數(shù)據(jù)庫表創(chuàng)建規(guī)則,完成數(shù)據(jù)庫表的創(chuàng)建。4參與系統(tǒng)程序流程圖的繪制在以上基礎(chǔ)上,根據(jù)系統(tǒng)功能,分析軟件結(jié)構(gòu),繪制數(shù)據(jù)庫服務(wù)器軟件流程圖。5數(shù)據(jù)庫服務(wù)器程序的編寫與測試編寫數(shù)據(jù)庫服務(wù)器整體結(jié)構(gòu)程序、同步程序以及與數(shù)據(jù)庫與通訊機通訊程序。6軟件的整體打包和系統(tǒng)服務(wù)控制器使用vs自帶的“安裝部署工具”和setupfactory打包軟件,并編寫服務(wù)控制
3、器程序,修改ip與控制系統(tǒng)服務(wù)狀態(tài)。所學(xué)到的知識點1MySQL數(shù)據(jù)庫1)MySQL語句:(1)創(chuàng)建數(shù)據(jù)庫createDATABASEdatabase-name(2)刪除數(shù)據(jù)庫dropdatabasedbname(3)創(chuàng)建新表createtabletabname(col1type1notnullprimarykey,col2type2notnull,.)(4)刪除新表Droptabletablename;(5)增加一個列Altertabletabnameaddcolumncoltype(6)添加主鍵:Altertabletabnameaddprimarykey(col)(7)創(chuàng)建索引:creat
4、euniqueindexidxnameontabname(col.)刪除索引:dropindexidxname(8)創(chuàng)建視圖:createviewviewnameasselectstatement刪除視圖:dropviewviewname(9)說明:幾個簡單的基本的sql語句選擇:select*fromtable1where范圍插入:insertintotable1(field1,field2)values(value1,value2)刪除:deletefromtable1where范圍更新:updatetable1setfield1=value1where范圍查找:select*fromta
5、ble1wherefield1like%value1%-like的語法很精妙排序:select*fromtable1orderbyfield1,field2desc總數(shù):selectcount*astotalcountfromtable1求和:selectsum(field1)assumvaluefromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最?。簊electmin(field1)asminvaluefromtable1實際應(yīng)用中,select語句使用比較頻繁,
6、而且也極為復(fù)雜,有時難以處理,需要在軟件上采取其他方法。2)C#中使用MySQLDriverCS連接MySQL數(shù)據(jù)庫MySQLDriverCS是MySQL提供的一種驅(qū)動連接包,在MySQLDriverCS安裝文件夾下面找到MySQLDriver.dll,安裝完成后將MySQLDriver.dll添加引用到項目中。并時在程序命名空間中添加usingMySQLDriverCS;即可。值得注意的是,MySQL與數(shù)據(jù)庫的連接次數(shù)不能過于頻繁,即應(yīng)該避免“短時間多次與數(shù)據(jù)庫連接”,否則會出現(xiàn)exception。(1)從數(shù)據(jù)庫中讀數(shù)據(jù)ArrayListpidlist=newArrayList();/建立鏈
7、表對象MySQLConnectionmc=newMySQLConnection();mc=newMySQLConnection(newMySQLConnectionString(“l(fā)ocalhost”,“mysql”,“root”,”password”).AsString);/連接數(shù)據(jù)庫trymc.Open();/打開連接MySQLCommandfirstCmd=newMySQLCommand(setnamesgb2312,mc);/設(shè)置字符格式,防止出現(xiàn)中文亂碼firstCmd.ExecuteNonQuery();stringCommandText=selectNodeID,ParentID
8、,NodeName,NodeSeriesfromnodeinfo;MySQLCommandSecondCmd=newMySQLCommand(CommandText,mc);/聲明一個MysqlCommand變量,該變量用于執(zhí)行數(shù)據(jù)庫命令SecondCmd.ExecuteNonQuery();/執(zhí)行命令,向表中添加節(jié)點信息MySQLDataReadermsdr;/該變量用于存儲從數(shù)據(jù)庫中讀取的值msdr=SecondCmd.ExecuteReaderEx();/從數(shù)據(jù)庫中訪問數(shù)據(jù),將返回值賦給msdrwhile(msdr.Read()intid=msdr.GetInt16(0);pidlist
9、.Add(id);/數(shù)據(jù)1stringname=msdr.GetString(2);pidlist.Add(name);/節(jié)點名稱msdr.Close();catch(MySQLExceptionex)stringerror=ex.Message;Console.WriteLine(error);returnnull;finallymc.Close();/關(guān)閉連接(2)向數(shù)據(jù)庫中插入、修改或刪除記錄MySQLConnectionmc=newMySQLConnection();/新建連接mc=newMySQLConnection(newMySQLConnectionString(“l(fā)ocalho
10、st”,“mysql”,“root”,”password”).AsString);/連接數(shù)據(jù)庫trymc.Open();/打開連接MySQLCommandfirstCmd=newMySQLCommand(setnamesgb2312,mc);/設(shè)置字符格式,防止出現(xiàn)中文亂碼firstCmd.ExecuteNonQuery();MySQLCommandmsc=newMySQLCommand();/聲明一個MysqlCommand變量,該變量用于執(zhí)行數(shù)據(jù)庫命令msc.Connection=mc;msc.CommandText=sqlquery;/(插入、修改或刪除記錄的sql語句)msc.Exec
11、uteNonQuery();/執(zhí)行命令msc.Dispose();returntrue;catch(MySQLExceptionex)Console.WriteLine(ex.Message);returnfalse;finallymc.Close();/關(guān)閉連接2C#語言注意:在程序編寫時,必須加注視1)TCP監(jiān)聽程序IPAddressm_host=IPAddress.Parse(MainProcess.LocalIP);TcpListenerlistenning=newTcpListener(m_host,MainProcess.DataBasePort);listenning.Start
12、();2)TCP發(fā)送機接收程序(1)發(fā)送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#中發(fā)送連接異常時,進入異常等待時間約為11秒。2)定時器定時器的創(chuàng)建、觸發(fā)事件、定時時間以及定時器的關(guān)閉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#中沒有完善的強制關(guān)閉線程的方法。4)讀寫ini文件(1)讀DllImport(kernel32)privatestaticexternlongWritePri
15、vateProfileString(stringsection,stringkey,stringval,stringfilePath);stringPath=C:ProgramFiles網(wǎng)絡(luò)監(jiān)控系統(tǒng)數(shù)據(jù)庫服務(wù)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網(wǎng)絡(luò)監(jiān)控系統(tǒng)數(shù)據(jù)庫服務(wù)DatabaseIP.ini;stringSection=ip;stringKey=DatabaseIP;stringwriteData=databaseIP1.Text;WritePrivateProfileString(Section,Key,writeData,
17、Path);5)系統(tǒng)服務(wù)在“引用”中添加“System.ServiceProcess”然后再工程文件中添加語句usingSystem.ServiceProcess;即可使用系統(tǒng)服務(wù)方法類。如下為遍歷計算機中的系統(tǒng)服務(wù)ServiceControllerservices=ServiceController.GetServices();foreach(ServiceControllerscTempinservices)if(scTemp.ServiceName!=null)switch(scTemp.ServiceName)系統(tǒng)服務(wù)的開啟與關(guān)閉ServiceControllerdatabaseSer
18、vice=newServiceController(Net_DatabaseServer);databaseService.Start()databaseService.Stop()3軟件的打包使用vs自帶的“安裝與部署”只能生成.msi文件,而且打包設(shè)置幾乎沒有,使用起來非常不便,此次采用setupfactory與vs結(jié)合的方法對軟件進行打包處理。針對3個服務(wù)器程序,首先使用vs自帶的“安裝與部署”生成3個.msi文件,可以將其添加入setupfactory中的初始文件中,在打包程序中進行引用,但是這些文件必須通過MSItoEXECompiler工具轉(zhuǎn)換為exe文件,否則程序會不予執(zhí)行。Se
19、tupfactory中是以屏幕操作為基礎(chǔ)的,用戶使用程序通過編輯屏幕就可以進行軟件安裝時對電腦的設(shè)置。1)界面編輯通過“添加”可以在“安裝之前”、“安裝之時”、“安裝之后”添加多種屏幕。如對話框屏幕、輸入框屏幕、選擇框屏幕等等。2)編程環(huán)境3)編程語言在不熟悉Setupfactory語言是可以通過“添加操作”選擇對注冊表,對話框,文件的屬性、內(nèi)容以及安裝文件等執(zhí)行相關(guān)操作。語言使用(1)對安裝文件的執(zhí)行File.Run(_TempLaunchFolder.數(shù)據(jù)庫.exe,SW_SHOWNORMAL,false);Application.Sleep(5000);repeatSetupEnd=File.IsInUse(_TempLaunchFolder.數(shù)據(jù)庫.exe);untilnotSetupEnd;Screen.Next();(2)注冊表Registry.SetValue(HKEY_LOCAL_MACHINE,SYSTEMCurrentControlSetServicesNet_DatabaseServer,Description,網(wǎng)絡(luò)監(jiān)控系統(tǒng)的服務(wù)項,用于提供數(shù)據(jù)庫服務(wù),REG_SZ);Registry.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度草牧場承包經(jīng)營權(quán)租賃與農(nóng)業(yè)保險聯(lián)動合同3篇
- 二零二五版集裝箱租賃及售后服務(wù)合同樣本3篇
- 2025年度數(shù)字經(jīng)濟產(chǎn)業(yè)園區(qū)建設(shè)合同3篇
- 2025年移動辦公小程序定制開發(fā)與企業(yè)管理服務(wù)合同2篇
- 2024版成都市存量房屋買賣合同實施條例
- 二零二五版智能家居定制家具采購與售后保障合同3篇
- 2025年度餐飲行業(yè)食品安全風(fēng)險評估合同21篇
- 二零二五河南事業(yè)單位100人招聘合同范本解讀與使用指南3篇
- 2024起重機械進出口貿(mào)易合同規(guī)范范本3篇
- 二零二五白酒定制酒生產(chǎn)與銷售合作合同3篇
- 春節(jié)英語介紹SpringFestival(課件)新思維小學(xué)英語5A
- 進度控制流程圖
- 2023年江蘇省南京市中考化學(xué)真題
- 【閱讀提升】部編版語文五年級下冊第四單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 供電副所長述職報告
- 現(xiàn)在完成時練習(xí)(短暫性動詞與延續(xù)性動詞的轉(zhuǎn)換)
- 產(chǎn)品質(zhì)量監(jiān)控方案
- 物業(yè)總經(jīng)理述職報告
- 新起點,新發(fā)展心得體會
- 深圳大學(xué)學(xué)校簡介課件
- 校園欺凌問題成因及對策分析研究論文
評論
0/150
提交評論