public int InsertDeviceRow(EntityDevice entityDevice)
        {
            string SqlStr = "";

            SqlStr  = "insert into tc_device(device_code,device_name, device_type,device_made,device_date,device_usedate,device_address,device_application,staff_name,device_remarks)";
            SqlStr += " values('" + entityDevice.Device_code.Trim()
                      + "','" + entityDevice.Device_name.Trim()
                      + "','" + entityDevice.Device_type.Trim()
                      + "','" + entityDevice.Device_made.Trim()
                      + "','" + entityDevice.Device_date
                      + "','" + entityDevice.Device_usedate
                      + "','" + entityDevice.Device_address.Trim()
                      + "','" + entityDevice.Device_application.Trim()
                      + "','" + entityDevice.Staff_name.Trim()
                      + "','" + entityDevice.Device_remarks.Trim()
                      + "')";

            SqlCommand sqlCommand = new SqlCommand();

            sqlCommand.CommandText = SqlStr;
            try
            {
                ExcuteSql(sqlCommand);
            }
            catch
            {
                return(Constants.SystemConfig.SERVER_ERROR);
            }

            return(Constants.SystemConfig.SERVER_SUCCESS);
        }
        public int UpdateDeviceTable(EntityDevice entity)
        {
            string SqlStr = "";

            SqlStr = "update tc_device set ";

            if (entity.Device_code.Trim() != string.Empty)
            {
                SqlStr += "device_code = '" + entity.Device_code.Trim() + "' ";
            }

            if (entity.Device_name.Trim() != string.Empty)
            {
                SqlStr += ",device_name = '" + entity.Device_name.Trim() + "' ";
            }

            if (entity.Device_type.Trim() != string.Empty)
            {
                SqlStr += ",device_type = '" + entity.Device_type.Trim() + "' ";
            }

            if (entity.Device_made.Trim() != string.Empty)
            {
                SqlStr += ",device_made = '" + entity.Device_made.Trim() + "' ";
            }

            SqlStr += ",device_date = '" + entity.Device_date.Date + "' ";

            SqlStr += ",device_usedate = '" + entity.Device_usedate.Date + "' ";

            if (entity.Device_address.Trim() != string.Empty)
            {
                SqlStr += ",device_address = '" + entity.Device_address.Trim() + "' ";
            }

            if (entity.Device_application.Trim() != string.Empty)
            {
                SqlStr += ",device_application = '" + entity.Device_application.Trim() + "' ";
            }

            if (entity.Staff_name.Trim() != string.Empty)
            {
                SqlStr += ",staff_name = '" + entity.Staff_name.Trim() + "' ";
            }

            if (entity.Device_remarks.Trim() != string.Empty)
            {
                SqlStr += ",device_remarks = '" + entity.Device_remarks.Trim() + "' ";
            }

            SqlStr += " where device_id= " + entity.Device_id.ToString() + " ";

            SqlCommand sqlCommand = new SqlCommand();

            sqlCommand.CommandText = SqlStr;

            ExcuteSql(sqlCommand);

            return(Constants.SystemConfig.SERVER_SUCCESS);
        }
        private void btnCommit_Click(object sender, EventArgs e)
        {
            foreach (Control control in groupBox2.Controls)
            {
                if (control is TextBox)
                {
                    if (Util.CheckRegex(control.Text.Trim()) && !((TextBox)control).ReadOnly)
                    {
                        MessageBox.Show("不可以输入非法字符,请重新输入!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        control.Focus();
                        return;
                    }
                }
            }

            if (txtCode.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("设备编号不能为空!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtCode.Focus();
                return;
            }

            if (txtName.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("设备名称不能为空!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtName.Focus();
                return;
            }

            if (txtType.Text.Trim().Equals(string.Empty))
            {
                MessageBox.Show("规格型号不能为空!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtType.Focus();
                return;
            }

            if (dtpUseDate.Value.Date < dtpBuyDate.Value.Date)
            {
                MessageBox.Show("启用时间不得早于购置时间!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                dtpBuyDate.Focus();
                return;
            }

            try
            {
                //如果是添加
                if (dataType == DataType.Insert)
                {
                    if (txtUser.Text.Trim().Equals("双击选择维护或使用人..."))
                    {
                        MessageBox.Show("请双击选择使用或维护人员!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtUser.Focus();
                        return;
                    }

                    entityDevice                    = new EntityDevice();
                    entityDevice.Device_code        = txtCode.Text.Trim();
                    entityDevice.Device_name        = txtName.Text.Trim();
                    entityDevice.Device_type        = txtType.Text.Trim();
                    entityDevice.Device_made        = txtMake.Text.Trim();
                    entityDevice.Device_date        = dtpBuyDate.Value.Date;
                    entityDevice.Device_usedate     = dtpUseDate.Value.Date;
                    entityDevice.Device_address     = txtSetPlace.Text.Trim();
                    entityDevice.Device_application = txtUseMethod.Text.Trim();
                    entityDevice.Staff_name         = txtUser.Text.Trim();
                    entityDevice.Device_remarks     = txtRemarks.Text.Trim();

                    //打开数据库连接
                    dataAccess = new DataAccess();
                    dataAccess.Open();

                    //取得操作类
                    GetData getData = new GetData(dataAccess.Connection);

                    if (getData.InsertIsOnly("tc_device", "device_code", Util.ChangeForSqlString(txtCode.Text.Trim())))
                    {
                        MessageBox.Show("您输入的设备编号已经存在!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtCode.Focus();
                        return;
                    }

                    //取得结果符
                    int result = getData.InsertDeviceRow(entityDevice);

                    if (result == 0)
                    {
                        MessageBox.Show("数据已经保存成功!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("操作添加时发生错误,请检查数据库!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else if (dataType == DataType.Update)
                {
                    if (dgvDevice.SelectedRows != null && dgvDevice.SelectedRows.Count != 0)
                    {
                        countNum = dgvDevice.SelectedRows[0].Index;
                    }

                    //赋值实体类
                    entityDevice                    = new EntityDevice();
                    entityDevice.Device_id          = int.Parse(dgvDevice.SelectedRows[0].Cells["device_id"].Value.ToString());
                    entityDevice.Device_code        = txtCode.Text.Trim();
                    entityDevice.Device_name        = txtName.Text.Trim();
                    entityDevice.Device_type        = txtType.Text.Trim();
                    entityDevice.Device_made        = txtMake.Text.Trim();
                    entityDevice.Device_date        = dtpBuyDate.Value.Date;
                    entityDevice.Device_usedate     = dtpUseDate.Value.Date;
                    entityDevice.Device_address     = txtSetPlace.Text.Trim();
                    entityDevice.Device_application = txtUseMethod.Text.Trim();
                    entityDevice.Staff_name         = txtUser.Text.Trim();
                    entityDevice.Device_remarks     = txtRemarks.Text.Trim();

                    //打开数据库连接
                    dataAccess = new DataAccess();
                    dataAccess.Open();

                    //打开事务
                    dataAccess.BeginTransaction();

                    //取得操作类
                    GetData getData = new GetData(dataAccess.Connection, dataAccess.Transaction);

                    if (getData.UpdateIsOnly("tc_device", "device_id", entityDevice.Device_id.ToString(), "device_code", Util.ChangeForSqlString(txtCode.Text.Trim())))
                    {
                        MessageBox.Show("您输入的设备编号已经存在!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        txtCode.Focus();
                        return;
                    }

                    //取得结果符
                    int result = getData.UpdateDeviceTable(entityDevice);

                    //提交事务
                    dataAccess.Commit();

                    if (result == 0)
                    {
                        MessageBox.Show("数据已经保存成功!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("操作修改时发生错误,请检查数据库!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            catch (Exception ex)
            {
                if (dataAccess.Transaction != null)
                {
                    //回滚
                    dataAccess.Rollback();
                }

                MessageBox.Show("操作数据时发生错误,请检查数据库是否正常开启!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                if (dataAccess.Connection != null)
                {
                    dataAccess.Close();
                }
            }

            //设置按钮状态
            dataType = DataType.None;
            SetButtonState();
            BandingDgv();
        }