本文是一篇数据库论文范文,数据库相关专升本毕业论文开题报告,关于C#实现通信信息查询系统相关硕士学位毕业论文范文。适合数据库及软件开发及工程师方面的的大学硕士和本科毕业论文以及数据库相关开题报告范文和职称论文写作参考文献资料下载。
摘 要:为了提高系统对通话业务相关信息查询的准确性、快速性,减轻技术人员劳动强度,强化查询信息的安全性,简化查询流程,在总结分析目前信息查询现状后,运用C#语言、结合Oracle数据库技术,开发了通信信息查询系统,实现了自动查询、保存、发送查询信息.
关 键 词:C#;Oracle;自动
中图分类号:TP311.52文献标识码:A文章编号:16727800(2011)012007902
作者简介:许江韬(1979-),男,山东烟台人,硕士,中国联合网络通信有限公司烟台市分公司工程师,研究方向为软件开发与利用;冯慧霞(1976-),女,山西原平人,硕士,中国联合网络通信有限公司烟台市分公司职员,研究方向为软件开发与利用.
0引言
现如今在系统侦破的一些案件中,犯罪嫌疑人的通话及通话工具情况是一个重点调查方向.以往都是相关技术人员在收到所要查询的信息后,登录到数据库手工进行查询,再手工将查询结果保存后通过电子邮件发送给系统相关单位,并且每天的查询量很大,因此为了快速、准确、自动地完成这项工作,减少办案时间,开发了信息查询系统.本系统运用C#语言对Oracle数据库的信息进行快速、准确、高效的查询.
1通信信息查询系统的设计思路
考虑到此系统的保密性,设定只能通过内网进行登录,并且只能是指定IP、特定技术人员,通过进行访问.登录到该系统后,技术人员只需简单输入查询,点选相关查询信息、收件人信息后,点击一键完成即可.系统会将查询信息自动以Excel格式保存下来,并自动以邮件附件的形式发出.在采用编程语言方面,考虑到C#语言的通用性、易用性及编码速度的快速性,决定采用该语言进行程序开发.
2通信信息查询系统的实现
2.1系统的保密性
2.1.1在网络方面的保密性
在网络设计上要充分考虑此系统的保密性,通过防火墙对内网进行仔细设置,并实现内外网的物理隔离.
2.1.2软件方面的保密性
首先通过C#语言取得登录机器的IP地址与指定IP进行比对,如果不符,则不允许登录.取本机IP地址的代码如下:
IPHostEntryIpEntry等于Dns.GetHostEntry(Dns.GetHostName()),
stringIpYesOrNo等于IpEntry.AddressList[0].ToString(),
其次需要输入用户名、才能登录系统,并将此信息记录到Oracle数据库日志表中.
2.2查询实现
2.2.1建立存储过程,并通过C#来调用这个存储过程
在Oracle查询数据库中建立多个可以访问其他信息数据库的db_link,然后再建立一个传入参数型存储过程,该存储过程主要将查询条件按照连接串格式生成SQL语句,通过db_link访问不同数据库,查找到相关信息,最后将这些信息汇总到查询信息结果表里.最后将查询条件信息
用户在界面上选定相关信息后,通过C#就可以调用这个存储过程了,存储过程名是PR_JF_HDCX_GJ.C#界面调用存储过程语句如下:
try
{
等
cm_hdcx_p.CommandText等于"PR_JF_HDCX_GJ",
cm_hdcx_p.CommandType等于CommandType.StoredProcedure,
cm_hdcx_p.Parameters.Add("nbr",OracleType.VarChar,20).Value等于number.Trim(),
cm_hdcx_p.Parameters.Add("start_month",OracleType.Float).Value等于vi_s,
cm_hdcx_p.Parameters.Add("end_month",OracleType.Float).Value等于vi_e,
cm_hdcx_p.Parameters.Add("flag",OracleType.Float).Value等于vi_flag,
C_hdcx.Open(),
cm_hdcx_p.ExecuteNonQuery(),
C_hdcx.Close(),
}
catch(System.Exceptionex)
{
等
}
finally
{
等
}
2.2.2自动保存、发送
考虑到自动保存、自动发送在程序中多处用到,因此在C#中生成两个方法,一个是自动保存,一个是自动发送.在查询完相关信息后,通过自动保存将所需信息保存下来,然后再调用自动发送,将所需信息按照先前设定的地址发送出去.
C#自动保存方法如下:
publicboolXForm_JDT(stringCap_s,System.Data.DataTableMyExcel_Data,stringMyExcel_N,stringMyExcel_Un,stringMyExcel_F){
等
if(this.DaoChuExcel())
{
returndd,
}
等
}
publicboolDaoChuExcel()
{
等
if(MyExcel_D.Columns.Count>0)
{
RangeMyExcel_R等于MyExcel_S.get_Range(MyExcel_S.Cells[1,1],MyExcel_S.Cells[2,MyExcel_D.Columns.Count]),//这里设置表头标题for(inta等于0,a { MyExcel_S.Cells[4,a+1]等于dataGridView1.Columns[a].HeaderText, } for(intb等于0,b { for(intc等于0,c { MyExcel_S.Cells[b+5,c+1]等于"'"+MyExcel_D.Rows[b][c], } 等 } } MyExcel_S.Cells.EntireColumn.AutoFit(), } C#自动发送邮件方法如下: privateboolSendMail() { 等 MailAddresrom等于newMailAddress(str_sender), MailAddressto等于newMailAddress(t_s), MailMessagemessage等于newMailMessage(from,to), if(System.IO.File.Exists(textBox3.Text)) { ContentTypect等于newContentType(MediaTypeNames.Text.Plain), Attachmentitem等于newAttachment(textBox3.Text), message.Attachments.Add(item), } if(System.IO.File.Exists(textBox4.Text)&&(i_check_user等于等于1)) { ContentTypect等于newContentType(MediaTypeNames.Text.Plain), Attachmentitem等于newAttachment(textBox4.Text), message.Attachments.Add(item), } 等 SmtpClientclient等于newSmtpClient(), client.Host等于str_host, client.DeliveryMethod等于SmtpDeliveryMethod.Network, client.UseDefaultCredentials等于false, client.Credentials等于newNetworkCredential(str_sender,str_passwd), client.EnableSsl等于false, boolret等于true, 等 3结束语 本文根据C#语言的特性、Orcale数据库技术,开发了通信信息查询系统.该系统能在收到20分钟内将所需的用户资料和话单返回给系统相关人员,加快了案件的侦破速度,提高了办案效率,也节省了相关技术人员的大量时间.