改按钮 操作员维护中的删弹出“确定要删除吗?”的对话删除成功 除按钮 修改密码 框,选择“是” 原始密码:999 新密码:888 确认密码:888 快递单查询 输入查询条件 单据保存 单据打印 选择“中通快递单” 快递单号:222222222228 密码修改成功 显示出所有中通快递单的信息 显示整张快递单信息 寄件人姓名:王明 始发地:江苏无锡 保存成功 正在打印
致 谢
本篇论文是在钱诚老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,精益求精的工作作风,坚持不懈的编程精神,深深地感染和激励着我。本系统在开发过程中由于对.NET和SQL Sever知识的学习不够深入,遇到了很多麻烦和障碍,钱老师始终给予我细心的指导和不懈的支持,教会了我很多有关.NET和SQL Sever方面的编程知识,在此谨向钱老师致以诚挚的谢意和崇高的敬意。
感谢图书馆的老师们,我在图书馆查找资料的时候,为我提供支持和帮助,感谢各位学者在.NET编程方面的经典著作,如果没有他们的研究成果和启发,我很难完成本次毕业设计。
感谢让我度过四年大学生活的常州工学院,尤其要感谢延陵学院的领导和老师们,是你们用自己渊博的知识和积极进取的态度影响并激励着我,使我不断进步,不断进取,度过了充实而有意义的大学生活。
感谢与我一起愉快的度过大学生活的多位知心好友,在我写论文过程中提供了我很多的素材,大学期间,他们带给我许多的感动和快乐,正是有了他们的帮助和支持,我的大学生活才变得丰富多彩。
最后,还要对在百忙之中抽出宝贵时间对本文进行审阅,评议和参与本人论文答辩的各位专家、老师表示感谢。由于本人知识积累有限,论文难免存在很多不足之处,还请各位老师帮助、指导。
30
参考文献
[1]周鸣场,曾洁玫.GDI+程序设计实例[M].—北京:中国水利水电出版社,2004 [2]刘洪成.C#高级教程[M].—北京:清华大学出版社,2003 [3]明日科技. C#典型模块精解[M].—北京:清华大学出版社,2012.1 [4] 萨师煊. 王珊.数据库系统概论[M]. —北京:清华大学出版社,2002
[5] 李兰友,杨晓光.Visual C#.NET程序设计[M].—北京:清华大学出版社;北京交通大学出版社,2004
[6]杨建昌.GDI+高级编程[M].—北京:清华大学出版社,2010.1
[7](美)昌德(Chand,M.)著.GDI+图形程序设计—北京:电子工业出版社,2005.3
[8]陈伟.《SQL Server 2005数据库应用与开发教程》—清华大学出版社,2007
附 录
系统登录(FormLogin.cs) 该模块主要的程序如下:
(1)引入命名空间using Express.Common;using Express.DAL; (2)触发picLogin(登录)按钮的Click事件,部分程序如下: private void picLogin_Click(object sender, EventArgs e) { SqlDataReader sdr = null;
if (String.IsNullOrEmpty(txtCode.Text.Trim()))
{ MessageBox.Show(\用户编码不许为空!\软件提示\); txtCode.Focus(); return; }
if (String.IsNullOrEmpty(txtPwd.Text))
{ MessageBox.Show(\登录密码不许为空!\软件提示\); txtPwd.Focus(); return; } //连接数据库
string connectionString =
\
SqlConnection mySqlConnection = new SqlConnection(connectionString);
String strSql = \+ \
31
try
{ sdr = dataOper.GetDataReader(strSql); if (!sdr.HasRows)
{ MessageBox.Show(\登录用户不正确!\软件提示\ txtCode.Focus(); } else
{ sdr.Read(); if(!(txtPwd.Text == sdr[\ { MessageBox.Show(\登录密码不正确!\软件提示\ txtPwd.Focus(); } else {
GlobalProperty.OperatorCode = sdr[\ GlobalProperty.OperatorName = sdr[\ GlobalProperty.Password = sdr[\ GlobalProperty.IsFlag = sdr[\ this.Hide();
AppForm formApp = new AppForm(); formApp.Show(); } } } }
快递单基本信息模块(FormBillTypeInput) 该模块主要的程序如下:
(1)在该窗体的Load事件中,获取tb_BillType数据表的信息内容
(2)触发btnChoice(选择单据图片)的Click事件,查找上文用GDI+绘制的快递单模板所在的文件路径,然后添加至pbxBillPicture控件框内。程序如下: private void btnChoice_Click(object sender, EventArgs e) {
if (dlgPicture.ShowDialog() == DialogResult.OK) {
pbxBillPicture.Image = Image.FromFile(dlgPicture.FileName);
32
} }
快递单查询模块的“查询”按钮的程序段
private void toolQuery_Click(object sender, EventArgs e) {
string strSql = String.Empty;
SqlParameter param = new SqlParameter(\ SqlDbType.VarChar);
param.Value = strBillTypeCode;
List
SqlParameter[] inputParameters = parameters.ToArray();
DataTable dt = dataOper.GetDataTable(\ List
if (!(String.IsNullOrEmpty(ctxtTemp.Text.Trim()))) {
if (String.IsNullOrEmpty(strSql)) {
strSql = \ ctxtTemp.Text.Trim() + \ } else {
strSql += \ ctxtTemp.Text.Trim() + \ } } }
dt.DefaultView.RowFilter = strSql;
formExpressBill.dgvExpressBill.DataSource = dt.DefaultView; this.Close();
}
“打印模块”打印文本信息的程序段
33
private void toolPrint_Click(object sender, EventArgs e) {
//设置<打印文档>的边距
Margins margin = new Margins(0, 0, 0, 0); pd.DefaultPageSettings.Margins = margin; //设置<打印文档>的纸张大小
PaperSize pageSize = new PaperSize(\快递单打印\
Convert.ToInt32(MillimetersToPixel(Convert.ToInt32(dtBillType.Rows[0][\dth\(dtBillType.Rows[0][\
pd.DefaultPageSettings.PaperSize = pageSize; pd.Print(); } 条形码的嵌入
//条形码的程序
public Bitmap GetCode39(string sourceCode) {
int leftMargin = 5; int topMargin = 0; int thickLength = 2; int narrowLength = 1; int barCodeHeight = 35;
int intSourceLength = sourceCode.Length; string strEncode = \添加起始码“*”. var font = new System.Drawing.Font(\ string AlphaBet =
\ string[] Code39 = {
/* 0 */ \ /* 1 */ \ /* 2 */ \ /* 3 */ \ /* 4 */ \ /* 5 */ \
34