第七次作业(用户报修系统)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Theuserservice
{
    public partial class Form1 : Form
    {
       
        public Form1()
        {
            InitializeComponent();
        }

        DBCon db = new DBCon();

        private void denglu_Click(object sender, EventArgs e)
        {
          
                db.dbcon();

                if (textBoxname.Text != "" & textBoxpass.Text != "")
                {

                    string com = "select count(*) passWord from user_info where userName='" + textBoxname.Text + "' ";
                    SqlCommand comm = new SqlCommand(com, db.conn);
                    int a = (int)comm.ExecuteScalar();
                    if (a == 0)
                    {
                        this.label1.Text = "用户名不存在哦!请重新输入用户名··";
                        //MessageBox.Show("用户名不存在!");

                    }
                    else
                    {
                        string com1 = "select count(*) passWord from user_info where userName='" + textBoxname.Text + "' and  passWord='" + textBoxpass.Text + "'";
                        SqlCommand comd = new SqlCommand(com1, db.conn);
                        int a1 = (int)comd.ExecuteScalar();
                        if (a1 == 0)
                        {
                            this.label1.Text = "密码错误!请重新输入密码··";
                            //MessageBox.Show("密码错误哦!");
                        }
                        else
                        {
                            this.label1.Text = "登陆成功!欢迎··";
                            
                            WindowsFormsApplication1.Form3 fm = new WindowsFormsApplication1.Form3(textBoxname.Text);
                            fm.Show();
                            //MessageBox.Show("登录成功!");
                        }
                    }
                    db.conn.Close();

                }
                else
                {
                    this.label1.Text = "用户名或者密码不能为空!";
                }
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            WindowsFormsApplication1.Form2 fm = new WindowsFormsApplication1.Form2();
            fm.Show();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

Form2;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using Theuserservice;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        DBCon db = new DBCon();
        private void button1_Click(object sender, EventArgs e)
        {
            db.dbcon();
            string name = this.txtxname.Text.Trim();
            string pwd1 = this.txtpwd1.Text.Trim();
            string pwd2 = this.txtpwd2.Text.Trim();
            if (name == "")
            {
                MessageBox.Show("用户名不能为空!");
                return;
            }
            if (pwd1 == "")
            {
                MessageBox.Show("密码不能为空!");
                return;
            }
            if (pwd2 == "")
            {
                MessageBox.Show("请再次输入密码!");
                return;
            }
            if (pwd1 == pwd2)
            {
                string sql = "insert into user_info (userName,passWord) values ('" + name + "','" + pwd1 + "')";
                SqlCommand comd = new SqlCommand(sql, db.conn);
                int a1 = db.ExecuteSQL(sql);
                if (a1 > 0)
                {
                    MessageBox.Show("注册成功,请返回登录!");
                    this.Hide();
                    Form1 fm = new Form1();
                    fm.Show();
                }
                else
                {
                    MessageBox.Show("请重试!");
                }
            }
            else
            {
                MessageBox.Show("两次密码不一致,请重新输入!");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
           
            Form1 fm = new Form1();
            fm.Show();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }
    }
}

 Form3:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Theuserservice;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
    public partial class Form3 : Form
    {
        DBCon db = new DBCon();
        public string name = "";
        public Form3( string value)
        {
            InitializeComponent();
            this.name = value; 
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (this.txtaddress.Text.Trim()=="")
            {
                MessageBox.Show("报修失败!请输入报修地点!");
                return;
            }
            if (this.txtleixing.Text.Trim() == "")
            {
                MessageBox.Show("报修失败!请输入报修内容!");
                return;
            }
            string sql = "insert into repair_info (username,leixing,didian,leirong,riqi,cishu) values ('" + name + "','" + comboBox1.SelectedItem.ToString()+"','" + this.txtaddress.Text + "','" + this.txtleixing.Text + "','" + Time.Now.ToShortDateString() + "','1')";
            SqlCommand comd = new SqlCommand(sql, db.conn);
            int a1 = db.ExecuteSQL(sql);
            if (a1 > 0)
            {
                MessageBox.Show("报修成功!");
                this.txtleixing.Text = "";
                this.txtaddress.Text = "";
                this.comboBox1.Text = "电脑类";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void Form3_Load(object sender, EventArgs e)
        {

        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}

 DBCon.cs;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;

namespace Theuserservice
{
    class DBCon
    {
        public string ConnectString = "Data Source=.;Initial Catalog=repair;Integrated Security=True";
        public SqlConnection conn = new SqlConnection();

        public void dbcon()
        {
            try
            {
                conn = new SqlConnection(ConnectString);
                conn.Open();
            }
            catch (Exception e)
            {
                
                MessageBox.Show("数据库连接不成功" + e.ToString());
            }
        }
        public int ExecuteSQL(String SqlString)
        {
            int count = -1;
            SqlConnection connectionTemp = new SqlConnection(ConnectString);
            connectionTemp.Open();
            try
            {
                SqlCommand cmd = new SqlCommand(SqlString, connectionTemp);
                count = cmd.ExecuteNonQuery();
            }
            catch
            {
                count = -1;
            }
            finally
            {
                connectionTemp.Close();
            }
            return count;
        }
    }
}  

 数据库创建截图:

 

测试截图:

 

  

设计思路:

(1)了解问题。我们看了需求后,接下来就是按照增量要求进行分析,添加了一个注册界面和一个报修界面。

(2)同时新建一个报修表,名字为repair_info,确认输出内容。我们要能用代码实现对数据库的增删改查操作,以此来实现用户的注册。

(3)设计报修界面。对每快的操作流程做出设计,如何输入,如何输出,如何判断,如何提交等等。

(4)编写整体代码。 将我们确定的算法实体化,最终形成C#代码。

(5)测试并解决问题。编译运行,多次测试,看结果是否与预期相同,如果不同,那么查找问题并修改,最终形成合格的程序。

团队分工:

 

负责人:洪亮,负责代码规范和代码实现(3.5分)

 

队员:李彬,负责代码错误和PSP分析(2分)

 

队员:卞玉新,负责创建数据库和美化(1.5分)

 

队员:刘远航,负责设计思路和测试(1.5分)

 

队员:李田田,负责控件排版和团队总结(1.5分)

 

PSP耗时:

 

 

团队总结:

这次作业实现的增量较多,所以开始还是比较麻烦点的。这次是实现三个界面的对数据库进行操作,这次的增量还是主要是数据库

数据库方面的知识,简单的界面框架和不太复杂的代码对我们还是比较好做的,数据库无非就是对Connection、Command、DataReader

DataSet这些对象的操作运用。同时在这方面,我们通过C#操作数据库方面的书籍,从中还是学到了不少东西的。

然而这次的小项目 我们做的并不是很好,对于报修次数,同一用户每次报修+1这点没有完成需求。逻辑能力方面的问题,然而我们并不知道怎么解决。

 

posted @ 2015-12-13 11:09  Harlem  阅读(451)  评论(1编辑  收藏  举报