⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cooperatepanel.cs

📁 社区管理系统
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DataBaseManagerLibrary;
namespace ControlLibraryXLCS
{
    public partial class CooperatePanel : UserControl
    {

        private DataBaseManager DBManager;
        private Int64 dealID, insertDealID;
        private int selectedIndex;

        public CooperatePanel()
        {

            InitializeComponent();
            reset();
            //setDataBaseManager(null);

        }

        public void visilize() {
            reset();    //将各个控件置为初始状态
            this.Visible = true;
        }

        public void disVisilize() {
            this.Visible = false;
        }

        private void reset() {
            dealID = 0;
            dataGridView1.DataSource = null;
 //           bDel.Enabled = false;
 //           bUpdata.Enabled = false;
            selectedIndex = -1;
        }
        public void setDataBaseManager(DataBaseManager DBManager){
            this.DBManager = DBManager;
            //String SqlConnectInfo = "server=localhost;database=CommnityManagementSystem;uid=sa;pwd=''";
            //DBManager = new DataBaseManager(SqlConnectInfo);
            DataTable dt = DBManager.ExecuteSelectCommand("select * from 协力厂商信息");
            if (dt == null) MessageBox.Show(DBManager.errorMessage);
            dataGridView1.DataSource = dt;
        }

        private void showDetailInfo(int idx)
        {
            if (idx < 0) return;
            selectedIndex = idx;
            dealID = (Int64)dataGridView1.Rows[idx].Cells["厂商编号"].Value;//得到用户选择的行的主键
            DataTable dt = DBManager.ExecuteSelectCommand(String.Format("select * from 协力厂商信息 where 厂商编号={0}", dealID));
            if (dt == null)
            {//数据库错误
                MessageBox.Show(DBManager.errorMessage);
                dealID = 0;
                return;
            }
            else if (dt.Rows.Count == 0)
            {  //未找到此记录
                MessageBox.Show("此记录可能已被其他用户删除");
                dealID = 0;
                return;
            }
        }




        private bool ErrorMessage(String msg)
        {
            MessageBox.Show(msg);
            return false;
        }

        private bool checkInput()
        {
            tbCsmc.Text = tbCsmc.Text.Trim();   //将多余的空格去掉
            tbCsbh.Text = tbCsbh.Text.Trim();
            tbLxdz.Text = tbLxdz.Text.Trim();
            tbTel.Text = tbTel.Text.Trim();
            tbwww.Text = tbwww.Text.Trim();
            tbFwms.Text = tbFwms.Text.Trim();


            if (tbCsmc.Text == "") return ErrorMessage("厂商名称为空!");
            if (tbCsbh.Text == "") return ErrorMessage("厂商编号为空!");
            if (tbTel.Text == "") return ErrorMessage("电话为空!");
            if (tbwww.Text == "") return ErrorMessage("网址为空!");
            if (cbFwxm.Text == "") return ErrorMessage("服务项目为空!");
            if (tbFwms.Text == "") return ErrorMessage("服务描述为空!");
            if (tbLxdz.Text == "") return ErrorMessage("联系地址为空!");



            if (tbCsbh.Text != "") {
                try
                {
                    Int64.Parse(tbCsbh.Text);
                }
                catch {
                    MessageBox.Show("厂商编号输入错误!");
                    return false;
                }
            }


            if (tbTel.Text != "") {
                try
                {
                    Int64.Parse(tbTel.Text);
                }
                catch {
                    MessageBox.Show("电话号码输入错误");
                    return false;
                }
            }

            return true;
        }

        private void bAdd_Click(object sender, EventArgs e)
        {
            String cmd;

            if (checkInput() == false) return;
            
            cmd = generateSelectCommand();    //首先查找数据库中有没有相同内容的行

            DataTable dataTable = DBManager.ExecuteSelectCommand(cmd);
            if (dataTable == null)
            {  //数据库出错
                MessageBox.Show(DBManager.errorMessage);
                return;
            }
            else if (dataTable.Rows.Count > 0)
            {
                MessageBox.Show("数据库中已存在相同信息");
                return;
            }
            //将信息添加到数据库
            cmd = generateInsertCommand();    //根据输入情况生成相应的命令
            int affectedRows=DBManager.Execute(cmd);
            if (affectedRows == -1)
            {  //数据库出错
                MessageBox.Show(DBManager.errorMessage);
                return;
            }
            else if (affectedRows == 0)
            {//
                MessageBox.Show("插入失败");
                return;
            }
            else
            {//插入成功,
                MessageBox.Show("添加成功!");
                dataGridView1.DataSource = DBManager.ExecuteSelectCommand("select * from 协力厂商信息");
                showDetailInfo(selectedIndex);//显示插入前的一行
            }

        }

        private void bDel_Click(object sender, EventArgs e)
        {
            if (selectedIndex == -1 && selectedIndex>=dataGridView1.Rows.Count-1) return;
            String cmd = generateDeleteCommand();
            int affectRows = DBManager.Execute(cmd);
            if (affectRows == -1)
            {  //数据库出错
                MessageBox.Show(DBManager.errorMessage);
                return;
            }
            else if (affectRows == 0)
            {
                MessageBox.Show("此数据已被其他登陆用户删除");
            }
            if (selectedIndex == dataGridView1.Rows.Count - 2)
            {
                dataGridView1.Rows.Remove(dataGridView1.Rows[selectedIndex]);
                selectedIndex--;
                if (selectedIndex == -1)
                {//若DataGridView没有数据则重置界面
                    reset();
                    return;
                }
            }
            else dataGridView1.Rows.Remove(dataGridView1.Rows[selectedIndex]);
            showDetailInfo(selectedIndex);
        }

        private void bUpdata_Click(object sender, EventArgs e)
        {

            String cmd;

            if (checkInput() == false) return;

            cmd = generateSelectCommand();    //首先查找数据库中有没有相同内容的行

            DataTable dataTable = DBManager.ExecuteSelectCommand(cmd);
            if (dataTable == null)
            {  //数据库出错
                MessageBox.Show(DBManager.errorMessage);
                return;
            }
 //           else if (dataTable.Rows.Count > 0)
  //          {
   //             MessageBox.Show("数据库中已存在相同信息");
   //             return;
    //        }
            //将信息添加到数据库
            cmd = generateUpdateCommand();    //根据输入情况生成相应的命令
            int affectedRows = DBManager.Execute(cmd);
            if (affectedRows == -1)
            {  //数据库出错
                MessageBox.Show(DBManager.errorMessage);
                return;
            }
            else if (affectedRows == 0)
            {//
                MessageBox.Show("修改失败");
                return;
            }
            else
            {//修改成功,
                MessageBox.Show("修改成功!");
                dataGridView1.DataSource = DBManager.ExecuteSelectCommand("select * from 协力厂商信息");
                showDetailInfo(selectedIndex);//显示修改前的一行
            }

        }

        private void bPrint_Click(object sender, EventArgs e)
        {
            MessageBox.Show("请连接打印机");
        }

        private void bFwsq_Click(object sender, EventArgs e)
        {
            MessageBox.Show("服务申请成功!");
        }

        private String generateSelectCommand()     
        {
            String cmd = "Select 厂商编号 from 协力厂商信息 where ";
    //        bool cmdChanged = false;
      //      ,厂商名称,联系地址,联系电话,网址,服务项目,服务描述

            if (tbCsbh.Text != "")
                cmd = cmd + " 厂商编号='" + tbCsbh.Text + "'";

//            if (tbCsmc.Text != "")
  //              cmd = cmd + " and 厂商名称='" + tbCsmc.Text + "'";
          
   //         if (tbLxdz.Text != "")
   //             cmd = cmd + " and 联系地址='" + tbLxdz.Text + "'";
          
    //        if (tbTel.Text != "")
    //            cmd = cmd + " and 联系电话='" + tbTel.Text + "'";
//
    //        if (tbwww.Text != "")
         //       cmd = cmd + " and 网址='" + tbwww.Text + "'";

    //        if (cbFwxm.Text != "")
         //       cmd = cmd + " and 服务项目='" + cbFwxm.Text + "'";

     //       if (tbFwms.Text != "")
        //        cmd = cmd + " and 服务描述='" + tbFwms.Text + "'";


            return cmd;
        }

        private String generateUpdateCommand()
        {
            String cmd = "";
            cmd = String.Format("update 协力厂商信息 set 厂商编号='{0}',厂商名称='{1}',联系电话='{2}',", tbCsbh.Text, tbCsmc.Text, tbTel.Text);
            cmd = cmd + String.Format("网址='{0}',服务项目='{1}',服务描述='{2}',联系地址='{3}'", tbwww.Text, cbFwxm.Text, tbFwms.Text,tbLxdz.Text);
            cmd = cmd + String.Format(" where 厂商编号='{0}'",tbCsbh.Text );
            return cmd;
        }

        private String generateInsertCommand()
        {
            String cmd = "insert into 协力厂商信息 values(";
            cmd += String.Format("{0},'{1}','{2}',{3},",Int64.Parse(tbCsbh.Text), tbCsmc.Text, tbLxdz.Text, Int64.Parse(tbTel.Text));
            cmd += String.Format("'{0}','{1}','{2}')", tbwww.Text, cbFwxm.Text, tbFwms.Text);
            return cmd;
        }

        private String generateDeleteCommand()
        {
            String cmd = String.Format("Delete from 协力厂商信息 where 厂商编号={0}", dataGridView1.Rows[selectedIndex].Cells["厂商编号"].Value);
            return cmd;
        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
 //           MessageBox.Show(e.RowIndex+" * "+selectedIndex);
            if (e.RowIndex == -1 || e.RowIndex >= dataGridView1.Rows.Count - 1) return; //选择多行或选择列标签
            showDetailInfo(e.RowIndex);
            selectedIndex = e.RowIndex;
            tbCsbh.Text = (dataGridView1.Rows[selectedIndex].Cells["厂商编号"].Value).ToString();
            tbCsmc.Text = (dataGridView1.Rows[selectedIndex].Cells["厂商名称"].Value).ToString();
            tbLxdz.Text = (dataGridView1.Rows[selectedIndex].Cells["联系地址"].Value).ToString();
            tbTel.Text = (dataGridView1.Rows[selectedIndex].Cells["联系电话"].Value).ToString();
            tbwww.Text = (dataGridView1.Rows[selectedIndex].Cells["网址"].Value).ToString();
            cbFwxm.Text = (dataGridView1.Rows[selectedIndex].Cells["服务项目"].Value).ToString();
            tbFwms.Text = (dataGridView1.Rows[selectedIndex].Cells["服务描述"].Value).ToString();
        }




    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -