好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#超市收银系统设计

本文实例为大家分享了c#超市收银系统设计的具体代码,供大家参考,具体内容如下

1.登录界面

代码如下:

?

using system;

using system.collections.generic;

using system测试数据ponentmodel;

using system.data;

using system.data.sqlclient;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

 

namespace 梦之翼小组项目

{

  public partial class denglu : form

  {

   public denglu()

   {

    initializecomponent();

   }

   model db = new model(); //实例化数据库对象

 

   private void button1_click( object sender, eventargs e)

   {

    string strconn = "data source=.;initial catalog=shopinfo;integrated security=true" ; //连接数据库

    sqlconnection connection = new sqlconnection(strconn);

 

    try

    {

 

     string sqlstr = "select username,userpassword from register where username=@username" ; //查询

     dataset ds = new dataset();

 

     connection.connectionstring = connection.connectionstring;

     connection.open();

 

     sqlcommand cmd = new sqlcommand(sqlstr, connection);

     cmd.parameters.add( new sqlparameter( "@username" , sqldbtype.varchar, 30)); //传参

     cmd.parameters[ "@username" ].value = username.text;   //给user文本框赋值

     sqldatareader dater = cmd.executereader();

 

     if (username.text.trim() == "" )   //如果user的值等于空

     {

      messagebox.show( "用户名不允许为空!" );

 

     }

     else if (password.text.trim() == "" )   //同上

     {

      messagebox.show( "密码不能为空!" );

     }

     else if (!dater.read())    //如果输入的用户名没有被dater读到,则用户名不存在

     {

      messagebox.show( "用户名不存在!" );

      username.text = "" ;

      password.text = "" ;

     }

     else if (dater[ "userpassword" ].tostring().trim() == password.text.trim()) //输入密码等于数据库密码登录成功且弹出音乐框

     {

      messagebox.show( "登录成功!" );

      username.text = "" ;

      password.text = "" ;

      caozuoyemain frm = new caozuoyemain();

      frm.showdialog();

     }

     else

     {

      messagebox.show( "密码错误!" );  //否则密码错误

      username.text = "" ;

      password.text = "" ;

 

     }

    }

    catch (exception)

    {

     throw ;    //抛出异常

    }

    finally

    {

     connection.close();  //关闭数据库

    }

 

   }

 

   private void label4_click( object sender, eventargs e)

   {

    zhuce fra = new zhuce();

    fra.showdialog();

   }

 

   private void label6_click( object sender, eventargs e)

   {

    zhaohuimima fra = new zhaohuimima();

    fra.showdialog();

   }

 

   private void denglu_load( object sender, eventargs e)

   {

 

   }

  }

}

2.操作界面:

代码如下:

?

using system;

using system.collections.generic;

using system测试数据ponentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

 

namespace 梦之翼小组项目

{

  public partial class caozuoyemain : form

  {

   public caozuoyemain()

   {

    initializecomponent();

   }

   public double totalprice; //每种商品的总价

   public double total; //所有商品的总价

   public double shijijin; //顾客给的钱数

   public double yingzhao; // 找给顾客的钱数

   public string mingcheng; //每件商品的名称

   public double shuliang; //每件商品的数量

   public double jiage; //每件商品的价格

   public int i = 0; //商品收费的id

 

   model db = new model(); //实例化数据库对象

 

   public void fanli() //单件物品的返利方法

   {

    if (jiage * shuliang < 600 && jiage * shuliang > 300)

    {

     totalprice = jiage * shuliang - 100;

    }

    else

    {

     totalprice = jiage * shuliang;

    }

   }

 

   private void confirm_click( object sender, eventargs e) //单击确定按钮的事件

   {

    totalprice = 0; //每一次商品的单个金额

 

    jiage = convert.todouble(price.text);

    shuliang = convert.todouble(number.text); //数据类型的转换

   

    switch (jisuanfangshi.selectedindex)

    {

     case 0:

      totalprice = jiage * shuliang;

      

      break ;

     case 1:

       totalprice = jiage * shuliang*0.8;

      

      break ;

     case 2:

      fanli(); //调用单个物品的返利方法

     

      break ;

    }

 

 

    total = totalprice + total; //所有商品的总金额

 

    zongjine.text = total.tostring(); //总金额转换数据类型,显示到文本框里面

 

   

    i++; //每一次的商品id加1,为了调出所有商品的最后一个数据

 

    db.dbcon();

    try

    {

     string insertinfo = "insert wupin values('" + i.tostring() + "','" + tradename.text + "','" + price.text + "','" +

      number.text + "','" + jisuanfangshi.text + "','" + totalprice.tostring() + "')" ;

     db.dbinsert(insertinfo);

 

     string selstr = "select top " +i+ " * from wupin order by 物品id desc" ;

     db.dbfill(selstr);

     datagridview1.datasource = db.dt; 

    }

    catch (exception)

    {

     messagebox.show( "不好意思,信息有误,注册失败" );

    }

   } 

 

   private void caozuoyemain_load( object sender, eventargs e)

   {

    db.dbcon();

    string qingkong = "truncate table wupin" ;

    db.dbinsert(qingkong);

    jisuanfangshi.selectedindex = 0; 

   }

 

   private void jiesuan_click( object sender, eventargs e)

   {

    shijijin = convert.todouble(shishoujine.text);

    yingzhao=convert.todouble(zongjine.text) ;

    yingzhao = shijijin - total;

    zhaojine.text = yingzhao.tostring()+ "元" ;

   }

 

   private void resetting_click( object sender, eventargs e)

   {

    tradename.text = "" ;

    price.text = "" ;

    number.text = "" ;

   } 

  }

}

3.收银员注册界面:

代码如下:

?

using system;

using system.collections.generic;

using system测试数据ponentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.text.regularexpressions;

using system.threading.tasks;

using system.windows.forms;

 

namespace 梦之翼小组项目

{

  public partial class zhuce : form

  {

   public zhuce()

   {

    initializecomponent();

   }

   public string sexvalue; //接收性别的字段

   model db = new model(); //实例化数据库对象

 

   private bool testusername( string strusername) //检测用户名的方法

   {

    bool strresult; // 判断结果的接收

    regex exstrusername = new regex( @"^[a-za-z][a-za-z0-9]{3,8}$" );

    //正则表达式的书写

    if (strresult = exstrusername.match(strusername).success)

    {

     yonghuming_test.text = "?" ;

    }

    else

    {

     messagebox.show( "用户名由3—6位的字母和数字组成,必须以字母开头" );

 

    }

    return strresult;

   }

 

   private bool testpassword( string strusername) //检测密码的方法

   {

    bool strresult; // 判断结果的接收

    regex exstrusername = new regex( @"^[\w\-~!@#$%^&*()+{}[ \]:]{6,16}" );

    //正则表达式的书写

    if (strresult = exstrusername.match(strusername).success)

    {

     mima_test.text = "?" ;

    }

    else

    {

     mima_test.text = "?" ;

     messagebox.show( "密码由6—16位的字母和数字或符号组成" );

 

    }

    return strresult;

   }

   private bool testname( string strusername) //检测姓名的方法

   {

    bool strresult; // 判断结果的接收

    regex exstrusername = new regex( @"^([a-za-z0-9\u4e00-\u9fa5\·]{2,3})$" );

    //正则表达式的书写

    if (strresult = exstrusername.match(strusername).success)

    {

     name_test.text = "?" ;

    }

    else

    {

     name_test.text = "?" ;

     messagebox.show( "请文明用语,输入合法的中文姓名哦" );

 

    }

 

    if (name_text.text == "小猫" || name_text.text == "小狗" || name_text.text == "傻逼" )

    {

     name_test.text = "?" ;

     messagebox.show( "请文明用语,输入合法的中文姓名哦" );

    }

    return strresult;

   }

 

   private bool testphonnumber( string strusername) //检测手机号的方法

   {

    bool strresult; // 判断结果的接收

    regex exstrusername = new regex( @"^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$" );

    //正则表达式的书写

    if (strresult = exstrusername.match(strusername).success)

    {

     phonnumber_test.text = "?" ;

    }

    else

    {

     phonnumber_test.text = "?" ;

     messagebox.show( "请输入正确的手机号码" );

 

    }

    return strresult;

   }

 

   private void nan_rb_checkedchanged( object sender, eventargs e) //选择性别的事件

   {

    sexvalue = nan_rb.text;

   }

   private void nv_rb_checkedchanged( object sender, eventargs e)

   {

    sexvalue = nv_rb.text;

   }

   

 

   private void zhuce_bt_click( object sender, eventargs e) //注册的点击事件

   {

    db.dbcon();

    try

    {

     string insertinfo = "insert register values('" + username_text.text + "','" + password_text.text+ "','" + name_text.text+

       "','" + sexvalue + "','" + phonnumber_text.text + "')" ;

     db.dbinsert(insertinfo);

     dialogresult dr=messagebox.show( "恭喜你注册成功,是否转到登录界面" , "注册成功对话框" ,messageboxbuttons.okcancel,messageboxicon.information);

     if (dr == dialogresult.ok)

     {

      this .close();

      denglu fra = new denglu();

      fra.showdialog();

     

     }

     else if (dr == dialogresult.cancel)

     {

      this .close();

     }

 

    }

    catch (exception)

    {

     messagebox.show( "不好意思,信息有误,注册失败" );

    }

   }

 

   private void username_text_leave( object sender, eventargs e) //用户名文本框的光标事件

   {

    if (username_text.text == "" )

    {

     messagebox.show( "用户名不能为空" );

    }

    else

    {

     testusername(username_text.text);

    }

   }

 

   private void password_text_leave( object sender, eventargs e) //密码文本框的光标事件

   {

    if (password_text.text == "" )

    {

     messagebox.show( "密码不能为空" );

    }

    else

    {

     testpassword(password_text.text);

    }

   }

 

   private void name_text_leave( object sender, eventargs e) //姓名文本框的光标事件

   {

    if (name_text.text == "" )

    {

     messagebox.show( "姓名不能为空" );

    }

    else

    {

     testname(name_text.text);

    }

   }

 

   private void phonnumber_text_leave( object sender, eventargs e) //手机号文本框的光标事件

   {

    if (phonnumber_text.text == "" )

    {

     messagebox.show( "手机号不能为空" );

    }

    else

    {

     testphonnumber(phonnumber_text.text);

    }

   }

 

   private void chongzhi_bt_click( object sender, eventargs e) //重置按钮

   {

    username_text.text = "" ;

    phonnumber_text.text = "" ;

    name_text.text = "" ;

    phonnumber_text.text = "" ;

   }

 

   private void quxiao_bt_click( object sender, eventargs e) // 取消事件

   {

    this .close();

   }

 

   private void zhuce_load( object sender, eventargs e)

   {

 

   }

  

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。  

dy("nrwz");

查看更多关于C#超市收银系统设计的详细内容...

  阅读:50次