📄 cooperatepanel.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 + -