📄 usercontrol1.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 CaiWuControlLibrary1
{
public partial class UserControl1 : UserControl
{
private DataBaseManager DBManager;
private Int64 dealID, insertDealID;
private int selectedIndex;
public UserControl1()
{
InitializeComponent();
//String SqlConnectInfo = "server=localhost;database=test;uid=sa;pwd=''";
// DBManager = new DataBaseManager(SqlConnectInfo);
reset();
setDataBaseManager(null);
}
public void setDataBaseManager(DataBaseManager DBManagerx){
//this.DBManager=DBManager;
String SqlConnectInfo = "server=hwadee-1e20;database=test;uid=sa;pwd=''";
DBManager = new DataBaseManager(SqlConnectInfo);
DataTable dt = DBManager.ExecuteSelectCommand("select * from 账款信息");
if (dt == null) MessageBox.Show(DBManager.errorMessage);
dgvZK.DataSource = dt;
}
// public void setUserCategory(String userCategory) {
// this.userCategory = userCategory;
// }
private bool ErrorMessage(String msg)
{
MessageBox.Show(msg);
return false;
}
private void dgvZK_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex == -1 || e.RowIndex >= dgvZK.Rows.Count - 1) return; //选择多行或选择列标签
showDetailInfo(e.RowIndex);
selectedIndex = e.RowIndex;
}
private void btZKsel_Click(object sender, EventArgs e)
{
String cmd;
if (checkInput("Select") == false) return; //用户输入不合法,此函数主要检查输入的格式错误
cmd = generateSelectCommand(); //根据输入情况生成相应的命令
DataTable dataTable = DBManager.ExecuteSelectCommand(cmd);
if (dataTable == null)
{ //数据库出错
MessageBox.Show(DBManager.errorMessage);
return;
}
else if (dataTable.Rows.Count == 0)
{//没有搜索到对应信息,显示一个空的dgvZK
dgvZK.DataSource = dataTable;
return;
}
else
{//至少找到一条信息,将信息显示到dgvZK,并将第一条信息详细列出
dgvZK.DataSource = dataTable;
showDetailInfo(0);
}
}
private bool checkInput(String str)
{
tbZKkind.Text = tbZKkind.Text.Trim();//将多余的空格去掉
tbZKname.Text = tbZKname.Text.Trim();
tbZKnum.Text = tbZKnum.Text.Trim();
if (tbZKnum.Text != "")
{
try
{
Int64.Parse(tbZKnum.Text);
}
catch
{
MessageBox.Show("账款号码输入错误!");
return false;
}
}
tbZKhcount.Text = tbZKhcount.Text.Trim();
if (tbZKhcount.Text != "")
{
try
{
float.Parse(tbZKhcount.Text);
}
catch
{
MessageBox.Show("借方数目输入错误!");
return false;
}
}
tbZKlcount.Text = tbZKlcount.Text.Trim();
if (tbZKlcount.Text != "")
{
try
{
float.Parse(tbZKlcount.Text);
}
catch
{
MessageBox.Show("贷方数目输入错误!");
return false;
}
}
tbZKsum.Text = tbZKsum.Text.Trim();
if (tbZKsum.Text != "")
{
try
{
float.Parse(tbZKsum.Text);
}
catch
{
MessageBox.Show("总计输入错误!");
return false;
}
}
if (str == "Insert" || str == "Modify")
{//以下是在更新或插入时检查输入是否为空
if (tbZKkind.Text == "") return ErrorMessage("账款类别为空");
if (tbZKname.Text == "") return ErrorMessage("账款名称为空");
if (tbZKnum.Text == "") return ErrorMessage("账款号码为空");
if (tbZKhcount.Text == "") return ErrorMessage("借方数目为空");
if (tbZKlcount.Text == "") return ErrorMessage("贷方数目为空");
if (tbZKsum.Text == "") return ErrorMessage("总计为空");
if (cbZKstat.Text == "") return ErrorMessage("账款状态为空");
//if (dtZKdate.Value == null) return ErrorMessage("日期为空");
}
return true;
}
private String generateSelectCommand()
{
String cmd = "Select 账款类别,账款名称,账款号码,借方数目,贷方数目,账款状态,总计,日期 from 账款信息 where 账款状态='应付账款表'";
bool cmdChanged = false;
if (tbZKkind.Text != "")
cmd = cmd + "and 账款类别='" + tbZKkind.Text + "'";
if (tbZKname.Text != "")
cmd = cmd + " and 账款名称='" + tbZKname.Text + "'";
if (tbZKnum.Text != "")
cmd = cmd + " and 账款号码=" + Int64.Parse(tbZKnum.Text);
if (tbZKhcount.Text != "")
cmd = cmd + " and 借方数目=" + float.Parse(tbZKhcount.Text) ;
if (tbZKlcount.Text != "")
cmd = cmd + " and 贷方数目=" + float.Parse(tbZKlcount.Text);
if (tbZKsum.Text != "")
cmd = cmd + " and 总计=" + float.Parse(tbZKsum.Text) + "";
if (cbZKstat.Text != "")
cmd = cmd + " and 账款状态='" + cbZKstat.Text + "'";
// if (tbZKdate.Text != "")
cmd = cmd + "and 日期='" +tbZKdate.Text+"' " ;
MessageBox.Show(cmd);
return cmd;
}
private String generateUpdateCommand()
{
String cmd = "";
cmd = String.Format("update 账款信息 set 账款类别='{0}',账款名称='{1}',账款号码='{2}',借方数目='{3}',贷方数目='{4}',", tbZKkind.Text, tbZKname.Text, tbZKnum.Text, tbZKhcount.Text, tbZKlcount.Text);
cmd = cmd + String.Format("总计='{0}',账款状态='{1}',日期='{2}'", tbZKsum.Text, cbZKstat.Text, tbZKdate.Text);
return cmd;
}
private String generateInsertCommand()
{
String cmd = "insert into 账款信息 values(";
Int64 id = DateTime.Now.ToBinary();
insertDealID = id;
cmd = cmd + String.Format("'{0}','{1}','{2}',{3},{4},", Int64.Parse(tbZKnum.Text), tbZKkind.Text, tbZKname.Text, float.Parse(tbZKhcount.Text), float.Parse(tbZKlcount.Text));
cmd = cmd + String.Format("{0},{1},'{2}'", float.Parse(tbZKsum.Text), cbZKstat.Text, tbZKdate.Text);
return cmd;
}
private String generateDeleteCommand()
{
String cmd = String.Format("Delete from 账款信息 where 账款号码='{}'", dgvZK.Rows[selectedIndex].Cells["交易号码"].Value);
return cmd;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -