管理信息系统实验报告设计参考资料


目录

一、系统需求分析... 3

1.1问题的提出... 3

1.2可行性分析... 3

1.3系统的设计目标... 3

二、系统设计... 4

2.1系统设计... 4

2.2系统运行环境... 4

三、系统结构框架... 4

3.1系统结构框架... 4

3.2 系统功能设计... 5

四、 系统数据库设计... 6

4.1超市管理系统数据库E-R模型... 6

4.2数据库表设计... 6

4.3 创建数据库... 8

五、操作模块... 9

5.1 系统登录模块... 9

5.2 商品信息管理模块... 10

5.3 职工信息管理模块... 12

5.4 供货商信息管理模块... 13

5.5 添加销售信息模块... 15

5.6 添加进货信息模块... 16

5.7 库存信息管理模块... 19

5.8权限设置管理模块... 20

六、系统管理... 20

6.1 身份验证... 20

6.2 自动编号... 21

6.3 设置文本框只能输入数字型字符串... 22

                                      


一、系统需求分析

随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

1.1问题的提出

在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多数超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。

1.2可行性分析

系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。

1.2.1经济可行性分析

因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。

1.2.2技术可行性分析

本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。

综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典。

1.3系统的设计目标

本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:

1. 人事管理模块功能:

(1)实现职工信息的查询;

(2)实现职工信息的更新,包括增加、删除、修改功能;

(3)实现供货商信息的查询;

(4)实现供货商信息的更新,包括增加、删除、修改功能。

2. 销售管理模块功能:

(1)进行前台的销售;

(2)将前台的销售与后台的数据库联系起来。

3. 进货管理模块功能:

(1)实现进货信息的查询;

(2)实现进货信息的更新,包括增加、删除、修改功能。

4. 库存管理模块功能:

(1)实现商品库存信息的查询;

二、系统设计

2.1系统设计

通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用Microsoft Visual Studio 2005作为前台开发工具,后台数据库采用SQL Server 2005,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操作简单且功能完整的超市商品管理系统。

2.2系统运行环境

客户端

操作系统:Windows NT/2000/XP或更高版本

服务器

操作系统:Windows XP

数据库:Microsoft SQL Server 2005

前台:Microsoft Visual Studio 2005

三、系统结构框架

 3.1系统结构框架

一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。图3-1系统功能结构图。

图3-1 系统功能结构图

3.2 系统功能设计

系统功能设计是使整个系统能基本实现超市的进、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,附注超市完成其目标。

本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:

1. 商品管理模块功能:

(1)实现商品信息的查询;

(2)实现职工信息的更新,包括增加、删除、修改功能;

2. 人事管理模块功能:

(1)实现职工信息的查询;

(2)实现职工信息的更新,包括增加、删除、修改功能;

(3)实现供货商信息的查询;

(4)实现供货商信息的更新,包括增加、删除、修改功能。

3. 销售管理模块功能:

(1)实现前台商品的销售;

(2)将商品的销售信息与数据库联系起来。

4. 进货管理模块功能:

(1)实现进货信息的查询;

(2)实现进货信息的更新,包括增加、删除、修改功能。

5. 库存管理模块功能:

(3)实现库存信息的查询;

四、 系统数据库设计

4.1超市管理系统数据库E-R模型

通过对超市管理系统分析,得出系统的E-R图。图5-1  数据库E-R模型图。

图4-1 数据库E-R模型图

4.2数据库表设计

4.2.1职工信息表

职工信息表(Staff-Bill)用于存储职工信息,职工编号为主键是唯一标识。表中各字段功能定义如表4-2-1所示。

表4-2-1职工信息表(Staff-Bill)

4.2.2用户登录表

用户登录表(Users-Info)用于存储用户的基本登录信息。表中各字段功能定义如4-3所示。   

表4-2-2 用户信息表(Users-Info)

4.2.3商品信息表

商品信息表(Goods-Info)用于存储商品的信息。表中各字段功能定义如表4-2-3所示。

表4-2-3商品信息表(Goods-Info)

4.2.4供货商信息表

供货商信息表(Sup-Info)用于存储供货商的信息。表中各字段功能定义如表4-2-4所示。

表4-2-4 供货商信息表(Sup Info)进货信息表

4.2.5进货信息表

进货信息表(Buy)存储进货信息。表中各字段功能定义如表4-2-5所示。

表4-2-5进货信息表(Buy)

4.2.6销售信息表

销售信息表(Sell)用于存储销售信息。表中各字段功能定义如表4-2-6所示。

表4-2-6销售信息表(Sell)

4.2.7 库存信息表

库存信息表(Stock)存储库存信息。表中各字段定义如表4-2-7所示。

表4-2-7 库存信息表(Stock)

4.3 创建数据库

(1)使用T—SQL语句创建超市商品管理系统数据库。

CREATE DATABASE db_SMMS ON  PRIMARY

( NAME = N'db_SMMS', FILENAME = F:\SMMS\SMMS\\DataBase \db_SMMS.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )

 LOG ON

( NAME = N'db_SMMS_log', FILENAME = N'F:\SMMS\SMMS\DataBase\ db_SMMS_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

(2)使用T—SQL语句创建库存表。

CREATE TABLE   Stock(GoodsID) 

varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL,

 Amount   into  NOT NULL,

PRIMARY KEY (StockID),

FOREIGN KEY (GoodsID) REFERENCES tb_Goods(GoodsID));

(3)使用T—SQL语句创建库存视图。

create view v_StockS

AS

SELECT     tb_Stock.StockID, tb_Goods.GoodsName, tb_Stock.Amount, tb_                                      Stock.Remark    FROM       

tb_Stock INNER JOIN  tb_Goods ON tb_Stock.G

五、操作模块

5.1 系统登录模块

主要实现代码如下:

  public bool Veri(string tb_table, string Id, string Pwd)

  {

             DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans();

       bool jud = false;

       if (Id != "" && Pwd != "")

       {

         SqlDataReader temDR = MyClass.getcom("select * from " + tb_table + " where UserName='" + Id.Trim() + "' and Pass='" + Pwd.Trim() + "'");

         jud = temDR.Read();

         if (jud)

         {

            DataClass.MyMeans.Login_Name = Id.Trim();

            DataClass.MyMeans.Login_ID = temDR.GetString(0);

            DataClass.MyMeans.My_con.Close();

            DataClass.MyMeans.My_con.Dispose();

          }

          else

          {

          MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

          }//end if(jud)

        MyClass.con_close();

        }

        else

        {

MessageBox.Show("请将登录信息添写完整");

}

        return jud;

   } //end public bool Veri()

用户登录模块在本系统的首页。用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。界面如图5-1所示。

图5-1 用户登录界面

5.2 商品信息管理模块

此模块进行对商品信息的录入,能够对商品进行合理的管理,界面如图5-2所示。

图5-2 商品信息管理界面

主要实现代码如下:

  private void btnAdd_Click(object sender, EventArgs e)

        {

            bool t = false;

            string txt;

            string RecID;

            string TypeID;

             if (txtName.Text == "")

            {

                MessageBox.Show("请输入商品名称!");

                txtName.Focus();

            }

            else if (txtPrice.Text == "")

            {

                MessageBox.Show("请输入商品单价!");

                txtPrice.Focus();

            }

            else if (comboxType.Text == "")

            {

                MessageBox.Show("请选择商品类型!");

                comboxType.Focus();

            }

            else if (txtKeep.Text == "")

            {

                MessageBox.Show("请输入保质期");

                txtKeep.Focus();

            }

            else

            {

                txt = txtName.Text.Trim();

                SqlDataReader temDR = MyDataClass.getcom("select * from  tb_Goods  where  GoodsName  ='" + txt + "'");

                t = temDR.Read();

                if (t)

                {

                    MessageBox.Show("此商品名称已存在!");

                    txtName.Text = "";

                    txtName.Focus();

                }

                else

                {

                    string Find_SQL2;

                    string RecID2;

                    try

                    {

                        TypeID = My_Set.Tables[0].Rows[comboxType.SelectedIndex][0].ToString();

                        RecID = MyMC.GetAutocoding("tb_Goods", "GoodsID");//获取编号

                        RecID2 = MyMC.GetAutocoding("tb_Stock", "StockID");//获取编号

                        Find_SQL = "insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values ('" + RecID

                                + "','" + txtName.Text + "','" + TypeID + "','" + txtRemark.Text + "'," + txtPrice.Text + "," + txtKeep.Text + ")";

                        Find_SQL2 = "insert into tb_Stock(StockId,GoodsID,Amount) values ('" + RecID2 + "','" + RecID + "',0)";

                        MyDataClass.getsqlcom(Find_SQL);

                        MyDataClass.getsqlcom(Find_SQL2);//向库存添加信息

                        MessageBox.Show("添加成功!");

                        ListViewItem l = new ListViewItem();

                        l.Text = txtName.Text;

                        l.SubItems.Add(comboxType.Text);

                        l.SubItems.Add(txtPrice.Text);

                        l.SubItems.Add(txtKeep.Text);

                        l.SubItems.Add(txtRemark.Text);

                        listView1.Items.Add(l);

                        btnCancle_Click(sender, e);

                    }

                    catch (Exception ec)

                    {

                        MessageBox.Show(ec.Message);

                        MessageBox.Show("添加失败");

                    }

                }

            }

        }

5.3 职工信息管理模块

此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理,界面如图5-3所示。

图5-3 职工信息管理界面

主要实现代码如下:

  private void btnSave_Click(object sender, EventArgs e)

        {

            string RecID;

            if (txtName.Text == "")

            {

                MessageBox.Show("请添加职工姓名!");

                txtName.Focus();

            }

            else

            {

                if (Jud == 1)

                {

                    RecID = MyMC.GetAutocoding("tb_Worker", "WorkerID");//获取编号

                    Find_SQL = "insert into tb_Worker(WorkerID,WorkerName,Remark) values('"+RecID+"','"+txtName.Text+"','"+txtRemark.Text+"')";

                    MyDataClass.getsqlcom(Find_SQL);

                    MessageBox.Show("添加成功!");

                    InfLoad();

                    WinstateT();

                }

                if (Jud == 2)

                {

                    Find_SQL ="update tb_Worker set WorkerName='"+txtName.Text+"',Remark='"+txtRemark.Text+"' where WorkerID='"+txtWorkerID.Text+"'";

                    MyDataClass.getsqlcom(Find_SQL);

                    MessageBox.Show("修改成功!");

                    InfLoad();

                    WinstateT();

                }

            }

        }

5.4 供货商信息管理模块

此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。界面如图5-4所示。

图5-4 供货商管理界面

主要实现代码如下:

   private void btnSave_Click(object sender, EventArgs e)

        {

            bool t = false;

            string txt;

            string RecID;

            if (txtName.Text == "")

            {

                MessageBox.Show("请输入供货商名称!");

                txtName.Focus();

            }

            else

            {

                if (Jud == 1)

                {

                    txt = txtName.Text.Trim();

                    SqlDataReader temDR = MyDataClass.getcom("select * from  tb_Supplier  where  SupplierName  ='" + txt + "'");

                    t = temDR.Read();

                    if (t)

                    {

                        MessageBox.Show("此供货商名称已存在!");

                        txtName.Text = "";

                        txtName.Focus();

                    }

                    else

                    {

                        RecID = MyMC.GetAutocoding("tb_Supplier", "SupplierID");//获取编号

                        Find_SQL = "insert into tb_supplier(SupplierID,SupplierName,Tel,Address,Remark) values ('" + RecID

                                + "','" + txtName.Text + "','" + txtTel.Text + "','" + txtAddress.Text + "','" + txtRemark.Text + "')";

                        MyDataClass.getsqlcom(Find_SQL);

                        MessageBox.Show("添加成功!");

                        InfLoad();

                        WinstateT();

                    }

                }

                if (Jud == 2)

                {

                    txt = txtName.Text.Trim();

                    Find_SQL = "select * from  tb_Supplier  where  SupplierName  ='" + txt + "'and SupplierID!='"+ ID+"'";

                    SqlDataReader temDR = MyDataClass.getcom(Find_SQL);

                    t = temDR.Read();

                    if (t)

                    {

                        MessageBox.Show("此供货商名称已存在!");

                        txtName.Text = "";

                        txtName.Focus();

                    }

                    else

                    {

                        Find_SQL = "update tb_Supplier set SupplierName='" + txtName.Text + "',Tel='" + txtTel.Text +

                                  "',Address='" + txtAddress.Text + "',Remark='" + txtRemark.Text + "'where SupplierID='"+ID+"'";

                        MyDataClass.getsqlcom(Find_SQL);

                        MessageBox.Show("修改成功!");

                        InfLoad();

                        WinstateT();

                    }

                }

            }

5.5 添加销售信息模块

销售员将销售信息录入方便了销售工作,提高了工作效率。界面如图5-5所示。

图5-5 添加销售信息界面

主要实现代码如下:

 private void button2_Click(object sender, EventArgs e)

        {

            if (txtSum.Text.Trim().Length != 0)

            {

                string s1;

                string s2;

                string s3;

                string s4;

                float zl;

                float PayS;

                if (txtPayS.Text == "")

                {

                    PayS = 0;

                }

                else

                {

                    PayS = float.Parse(txtPayS.Text);

                }

                zl = PayS - TotalPrice;

                txtPayS.Text = PayS.ToString();

                txtPayY.Text = TotalPrice.ToString();

                txtZL.Text = zl.ToString();

                s1 = "商品数量" + Amount1+ " 件" + "\n" + "\n";

                s2 = "实付款  " + PayS + " 元" + "\n" + "\n";

                s3 = "应付款  " + TotalPrice.ToString() + " 元" + "\n" + "\n";

                s4 = "找零    " + zl.ToString() + " 元" ;

                MessageBox.Show(s1+s2+s3+s4, "系统提示");

                txtPayS.Text = "";

                txtPayY.Text = "";

                txtZL.Text = "";

                txtID.Text = "";

                txtAmount.Text = "";

                txtSum.Text = "";

                TotalPrice = 0;

                Amount1 = 0;

                listView1.Items.Clear();

            }

            else

            {

                MessageBox.Show("请购买商品!");

            }

        }

5.6 添加进货信息模块

录入进货信息加强对商品的管理,使商品信息更为详细,方便了对商品的管理。

图5-6 用添加进货信息界面

主要实现代码如下:

private void btnAdd_Click(object sender, EventArgs e)

        {

            bool t = false;

            string txt;

            string RecID;

            if (txtID.Text == "")

            {

                MessageBox.Show("请输入商品编号!");

                txtID.Focus();

            }

            else if (txtPrice.Text == "")

            {

                MessageBox.Show("请输入商品单价!");

                txtPrice.Focus();

            }

            else if (txtAmount.Text == "")

            {

                MessageBox.Show("请输入商品数量!");

                txtAmount.Focus();

            }

            else if(comPy.Text==""||comPm.Text==""||comPd.Text=="")

            {

                MessageBox.Show("请将生产日期填写完整!");

            }

            else if (comBy.Text == "" || comBm.Text == "" || comBd.Text == "")

            {

                MessageBox.Show("请将进货日期填写完整");

            }

            else

            {

                txt =txtID.Text.Trim();

                SqlDataReader temDR = MyDataClass.getcom("select * from  tb_Goods  where  GoodsID  ='" + txt + "'");

                t = temDR.Read();

                if (!t)

                {

                    MessageBox.Show("此商品不存在!");

                   txtID.Text = "";

                   txtID.Focus();

                }

                else

                {

                    string Find_SQL2;

                    string RecID2;

                    try

                    {

                        string GoodsID;

                        string SupplierID;

                        string datep;

                        string dateb;

                        datep =comPy.Text + "/" + comPm.Text + "/" + comPd.Text;

                        dateb = comBy.Text + "/" + comBm.Text + "/" +comBd.Text;

                        GoodsID = txtID.Text;

                        SupplierID = My_Set.Tables[0].Rows[comSupplier.SelectedIndex][0].ToString();

                        RecID = MyMC.GetAutocoding("tb_Buy", "BuyID");//获取编号

                        RecID2 = MyMC.GetAutocoding("tb_Stock", "StockID");//获取编号

                        Find_SQL = "insert into tb_Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,Remark) values ('" + RecID

                                + "','" +txtID.Text + "','"  + DataClass.MyMeans.Login_Name + "',"+txtPrice.Text +","+ txtAmount.Text+

                                 ",'"+datep+"','"+dateb+"','"+SupplierID+"','"+txtRemark.Text+"')";

                        Find_SQL2 = "Update tb_Stock set Amount = Amount +" +txtAmount.Text+"where GoodSID='"+GoodsID+"'";

                        MyDataClass.getsqlcom(Find_SQL);

                        MyDataClass.getsqlcom(Find_SQL2);//向库存添加信息

                        MessageBox.Show("添加成功!");

                        ListViewItem l = new ListViewItem();

                        l.Text =RecID;

                        l.SubItems.Add(txtID.Text);

                        l.SubItems.Add(txtPrice.Text);

                        l.SubItems.Add(txtAmount.Text);

                        l.SubItems.Add(comSupplier.Text);

                        l.SubItems.Add(txtRemark.Text);

                        listView1.Items.Add(l);

                        btnCancle_Click(sender, e);

                    }

                    catch (Exception ec)

                    {

                        MessageBox.Show(ec.Message);

                        MessageBox.Show("添加失败");

                    }

                }

            }

 }

5.7 库存信息管理模块

库存信息管理能够使用户更为了解商品的库存情况,从而有利于商品的进货和销售的管理。界面如图5-7所示。

图5-7 库存信息管理界面

主要实现代码如下:

private void btnSearch_Click(object sender, EventArgs e)

        {

            string con;

            con = MyMC.Sqlcon(groupBox1.Controls, Link);

            if (con == "")

            {

                MessageBox.Show("请输入查询信息");

            }

            else

            {

                Find_SQL = "select * from StockS2" + con;

                MyDS_Grid = MyDataClass.getDataSet(Find_SQL, "tb_Common");

                dataGridView1.DataSource = MyDS_Grid.Tables[0];

                dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.ActiveBorder;//设置基数行的颜色

                dataGridView1.Columns[0].HeaderText = "商品名称";

                dataGridView1.Columns[1].HeaderText = "商品单价";

                dataGridView1.Columns[2].HeaderText = "保质期";

                dataGridView1.Columns[3].HeaderText = "库存数量";

                dataGridView1.Columns[0].Width = 150;

                dataGridView1.Columns[1].Width = 150;

                dataGridView1.Columns[2].Width = 150;

                dataGridView1.Columns[3].Width = 150;

            }

}

5.8权限设置管理模块

对不同的用户分不同的权限,有利于系统的管理,只有超级管理员才具有分配权限的功能。界面如图5-8所示。

图5-8 权限设置界面

主要实现代码如下:

 private void btnSave_Click(object sender, EventArgs e)

        {

            MyDataClass.getsqlcom("Delete tb_UserPerm where UserID='" + ModuleClass.MyModule.ManaId.Trim() + "'");

          

             foreach(Control c in  groupBox2.Controls )

             {

                 if (c is CheckBox)//只遍历CheckBox控{

                     if (((CheckBox)c).Checked == true){

                         RecID = MyMC.GetAutocoding("tb_UserPerm", "ID");

                         MyDataClass.getsqlcom("insert into tb_UserPerm (ID,UserID,PermName) values('" + RecID + "','" + ModuleClass.MyModule.ManaId.Trim() + "','" + c.Name + "')");

                         //MessageBox.Show("jinjian");}

                        // MessageBox.Show(c.Name);

                 }

             }

             MessageBox.Show("设置成功");

        }

六、系统管理

6.1 身份验证

调用此方法来进行对用户信息的合法性验证,有利于提高系统的安全性。

主要实现代码如下:

  public bool Veri(string tb_table, string Id, string Pwd)

  {

            DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans();

       bool jud = false;

       if (Id != "" && Pwd != "")

       {

                SqlDataReader temDR = MyClass.getcom("select * from " +

tb_table + " where UserName='" + Id.Trim() + "'

and Pass='" + Pwd.Trim() + "'");

       jud = temDR.Read();

       if (jud)

       {

            DataClass.MyMeans.Login_Name = Id.Trim();

            DataClass.MyMeans.Login_ID = temDR.GetString(0);

            DataClass.MyMeans.My_con.Close();

            DataClass.MyMeans.My_con.Dispose();

         }

        else

        {

                       MessageBox.Show("用户名或密码错误!", "提示",

MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

            MyClass.con_close();

        }

        else

                      MessageBox.Show("请将登录信息添写完整");

            return jud;

        }

6.2 自动编号

通过此方法来自动进行编号,使用户的操作更为简便,提高了用户添加信息的效率。

主要实现代码如下:

      public String GetAutocoding(string TableName, string ID)

        {

            //查找指定表中ID号为最大的记录

            SqlDataReader MyDR = MyDataClass.getcom("select max(" + ID + ") from " + TableName);

            int Num = 0;

            if (MyDR.HasRows)   //当查找到记录时

            {

                MyDR.Read();    //读取当前记录

                if (MyDR[0].ToString() == "")

                    return "0001";

                Num = Convert.ToInt32(MyDR[0].ToString());  //将当前找到的最大编号转换成整数

                ++Num;  //最大编号加

                string s = string.Format("{0:0000}", Num);  //将整数值转换成指定格式的字符串用填充字符

                return s;   //返回自动生成的编号

            }

            else

            {

                return "0001";  //当数据表没有记录时,返回

            } 

6.3 设置文本框只能输入数字型字符串

通过此方法进行对用户的输入格式进行约束,从而提高数据的合法性。

主要实现代码如下:

public void Num_Jud(KeyPressEventArgs e, string s, int n)

        {

            if (n == 0)   //只能输入整型

                if (!(e.KeyChar <= '9' && e.KeyChar >= '0') && e.KeyChar != '\r' && e.KeyChar != '\b')

                {

                    e.Handled = true;   //处理KeyPress事件

                }

            if (n == 1) //可以输入整型或单精度型

            {

                if ((!(e.KeyChar <= '9' && e.KeyChar >= '0')) && e.KeyChar != '.' && e.KeyChar != '\r' && e.KeyChar != '\b')

                {

                  e.Handled = true;

                }

                else

                {

                    if (e.KeyChar == '.')   //如果输入“.”

                        if (s == "")    //当前文本框为空

                            e.Handled = true;   //处理KeyPress事件

                        else

  if (s.Length > 0)   //当文本框不为空时

                            {

                                if (s.IndexOf(".") > -1)

                                    e.Handled = true;   //处理KeyPress事件

                            }

           




相关推荐