GitHub:https://github.com/Knock-man/PersonalFinanceSystem

个人理财小软件

  • 一、数据库设计(MySQL)
  • 二、窗体设计
    • (一)登录窗体
    • (二)主界面窗体
    • (三)收支管理窗体
    • (四)统计查询窗体
    • (五)添加收支项目窗体
    • (六)用户管理窗体
    • (七)关于窗体

一、数据库设计(MySQL)

数据库名称:BillManagement
关系模式设计:

收支表(收支编号,收支类型,日期,收支人,金额,说明,类别编号)
incomeAndExpenses(InExId,InType,InDate,Person,Money,Explain,CateId)收支类别(类别编号,收支类型,类别名称)
Category(CateId,CaType,CaName)收支项目(项目编号,类别编号,项目名称)
Project(ProId,CateId,ProName)用户表(用户编号,用户名,用户密码)
UserBill(UserId,UserName,UserPassWord)

建表

#建库
CREATE DATABASE IF NOT EXISTS BillManagement;
#建Category(CateId,CaType,CaName)表
CREATE TABLE IF NOT EXISTS Category(CateId INT  NOT NULL AUTO_INCREMENT,CaType CHAR(10),CaName CHAR(10),PRIMARY KEY(CateId)
)
#建incomeAndExpenses(InExId,InType,InDate,Person,Money,CateId)表
CREATE TABLE IF NOT EXISTS incomeAndExpenses(InExId INT NOT NULL AUTO_INCREMENT,InType CHAR(10),InDate DATE,Person CHAR(10),Money CHAR(10),InExplain CHAR(10),CateId INT,PRIMARY  KEY (InExId),FOREIGN KEY(CateId) REFERENCES  Category(CateId)
)
#建Project(ProId,CateId,ProName)表
CREATE TABLE IF NOT EXISTS Project(ProId INT  NOT NULL AUTO_INCREMENT,CateId INT,ProName CHAR(10),PRIMARY  KEY(ProId),FOREIGN KEY (CateId) REFERENCES  Category(CateId)
)
#建UserBill(UserId,UserName,UserPassWord)表
CREATE TABLE IF NOT EXISTS UserBill(UserId INT  NOT NULL AUTO_INCREMENT,UserName CHAR(10),UserPassWord CHAR(10),PRIMARY  KEY(UserId)
)

二、窗体设计

窗体控件字典:

用户名:userName
密码:passWord
验证码:verificationCode
收入类型-收入:shouRU
收入类型-支出:zhiCu
收入类别:shouRuLeiBie
备注:beiZhu
日期:rQ
说明:shuoMing
收支项目:shouZhiXiangMu

(一)登录窗体


逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;namespace PersonalFinanceSystem
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button2_Click(object sender, EventArgs e){if (userName.Text != ""||passWord.Text!=""||verificationCode.Text!=""){userName.Text = "";passWord.Text = "";verificationCode.Text = "";}}private void button3_Click(object sender, EventArgs e){this.Close();}private void userName_TextChanged(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion#region 查询//验空if (userName.Text == ""){MessageBox.Show("用户名不能为空", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);}else if (passWord.Text == ""){MessageBox.Show("密码不能为空", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);}else if (verificationCode.Text == ""){MessageBox.Show("验证不能为空", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);}else if (verificationCode.Text != label5.Text){MessageBox.Show("验证码错误,请重新输入", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);}else{//创建命令string username = userName.Text;//获取输入用户名string password = passWord.Text;//获取输入密码string sqlSel = "select count(*) from UserBill where UserName = '" + username + "' and UserPassWord = '" + password + "'";//查询语句MySqlCommand com = new MySqlCommand(sqlSel, conn);//判断executeScalar方法返回的参数是否大于0,大于0表示查找有数据if (Convert.ToInt32(com.ExecuteScalar()) > 0){MessageBox.Show("欢迎加入个人理财系!", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);homepage home = new homepage();this.Hide();home.Show();}else{MessageBox.Show("账户或者密码错误!请重新输入", "用户登录", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);}#endregion}}private void Form1_Load(object sender, EventArgs e){//this.IsMdiContainer = true;Random rd = new Random();label5.Text =Convert.ToString(rd.Next(1000, 10000));}private void label5_Click(object sender, EventArgs e){}}
}

(二)主界面窗体


逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace PersonalFinanceSystem
{public partial class homepage : Form{public homepage(){InitializeComponent();}private void homepage_Load(object sender, EventArgs e){this.IsMdiContainer = true;}private void toolStripButton1_Click(object sender, EventArgs e){incomeExpenditure stu = new incomeExpenditure();stu.Show();}private void 收支管理ToolStripMenuItem_Click(object sender, EventArgs e){}private void 添加收支PCtrlPToolStripMenuItem_Click(object sender, EventArgs e){incomeExpenditure stu = new incomeExpenditure();stu.Show();}private void 退出XCtrlXToolStripMenuItem_Click(object sender, EventArgs e){this.Hide();Form1 stu = new Form1();stu.Show();}private void 添加收支项目ICtrlIToolStripMenuItem_Click(object sender, EventArgs e){InExaccount stu = new InExaccount();stu.Show();}private void 关于ACtrlAToolStripMenuItem_Click(object sender, EventArgs e){aboutUs stu = new aboutUs();stu.Show();}private void 统计查询CCtrlCToolStripMenuItem_Click(object sender, EventArgs e){statisticalQuery stu = new statisticalQuery();stu.Show();}private void toolStripButton2_Click(object sender, EventArgs e){statisticalQuery stu = new statisticalQuery();stu.Show();}private void toolStripButton3_Click(object sender, EventArgs e){InExaccount stu = new InExaccount();stu.Show();}private void 用户管理UCtrlUToolStripMenuItem_Click(object sender, EventArgs e){userManagement stu = new userManagement();stu.Show();}private void toolStripButton4_Click(object sender, EventArgs e){userManagement stu = new userManagement();stu.Show();}}
}

(三)收支管理窗体

逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;namespace PersonalFinanceSystem
{public partial class incomeExpenditure : Form{public incomeExpenditure(){InitializeComponent();}private void checkBox4_CheckedChanged(object sender, EventArgs e){chenge();}private void button1_Click(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion//获取收入类型string shouruleixing="";if (shouRu.Checked){shouruleixing = "0";}else{shouruleixing = "1";}//获取收入类别string shouruleibie = "";if (shouRuLeiBie.SelectedIndex != -1){shouruleibie = shouRuLeiBie.SelectedItem.ToString();}else{shouRuLeiBie.SelectedIndex = 0;}//获取类别编号MySqlCommand cmd2 = new MySqlCommand("SELECT CateId FROM category WHERE CaName = @lb", conn);cmd2.Parameters.AddWithValue("lb", shouruleibie);MySqlDataReader reader2 = cmd2.ExecuteReader();//创建MySqlDataReader对象int liebieid = 0;while (reader2.Read())//每次读一行显示在集合中{liebieid = Convert.ToInt32(reader2[0]);}reader2.Close();//获取日期string date = "";if (rQ.SelectedIndex != -1){date = rQ.SelectedItem.ToString();}else{rQ.SelectedIndex = 0;}//获取说明string shuoming = "";shuoming = shuoMing.Text;//获取收支人string shouzhiren = "";CheckBox[] person = new CheckBox[] { My, Family, Relative, Friend, Classmate, Other };for (int i = 0; i < person.Length; i++){if (person[i].Checked){shouzhiren += person[i].Text + " ";}}//获取金额string jiner = "";jiner = jinEr.Text;//导入数据表#region 插入MySqlCommand cmdd = new MySqlCommand("insert into incomeAndExpenses set InType=@ty,InDate=@dat,Person=@per,Money=@mon,InExplain=@exp,CateId=@cate", conn);cmdd.Parameters.AddWithValue("ty", shouruleixing);//添加值cmdd.Parameters.AddWithValue("dat", date);cmdd.Parameters.AddWithValue("per", shouzhiren);cmdd.Parameters.AddWithValue("mon", jiner);cmdd.Parameters.AddWithValue("exp", shuoming);cmdd.Parameters.AddWithValue("cate", liebieid);//执行语句cmdd.ExecuteNonQuery();this.Close();#endregion}private void incomeExpenditure_Load(object sender, EventArgs e){}//实时统计备注private void chenge(){//获取收入类型string shouruleixing;if (shouRu.Checked){shouruleixing = "收入";}else{shouruleixing = "支出";}//获取收入类别string shouruleibie="";if (shouRuLeiBie.SelectedIndex != -1){shouruleibie = shouRuLeiBie.SelectedItem.ToString();}else{shouRuLeiBie.SelectedIndex = 0;}//获取日期string date="";if (rQ.SelectedIndex != -1){date = rQ.SelectedItem.ToString();}else{rQ.SelectedIndex = 0;}//获取说明string shuoming = "";shuoming = shuoMing.Text;//获取收支项目string shouzhixiangmu = "";if (shouZhiXiangMu.SelectedItems.Count == 0){return;}else{                        shouzhixiangmu = shouZhiXiangMu.SelectedItem.ToString();}//获取收支人string shouzhiren = "";CheckBox[] person = new CheckBox[] { My, Family, Relative, Friend, Classmate, Other };for (int i = 0; i < person.Length; i++){if (person[i].Checked){shouzhiren += person[i].Text + " ";}}//获取金额string jiner = "";jiner = jinEr.Text;//合并备注string remark = "";remark += "要保存的信息为:\n";remark += shouruleibie + "-" + shouzhixiangmu + "\n";remark += "日 期:" + date + "\n";remark += "说 明:" + shuoming + "\n";remark += "收支人:" + shouzhiren + "\n";remark += "金 额:" + jiner;beiZhu.Text = remark;}private void shouRu_CheckedChanged(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregionshouRuLeiBie.Items.Clear();//创建命令string sql = "SELECT CaName FROM Category WHERE Catype='0'";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象shouRuLeiBie.Items.Clear();while (reader.Read())//每次读一行显示在集合中{shouRuLeiBie.Items.Add(reader[0]);}shouRuLeiBie.SelectedIndex = 0;reader.Close();//获取选中类别名称string shouruleibie = "";if (shouRuLeiBie.SelectedIndex != -1){shouruleibie = shouRuLeiBie.SelectedItem.ToString();}else{shouRuLeiBie.SelectedIndex = 0;}shouZhiXiangMu.Items.Clear();//获取类别编号MySqlCommand cmd2 = new MySqlCommand("SELECT CateId FROM category WHERE CaName = @lb", conn);cmd2.Parameters.AddWithValue("lb", shouruleibie);MySqlDataReader reader2 = cmd2.ExecuteReader();//创建MySqlDataReader对象int liebieid = 0;while (reader2.Read())//每次读一行显示在集合中{liebieid = Convert.ToInt32(reader2[0]);}//shouZhiXiangMu.Items.Add(shouruleibie);// shouZhiXiangMu.Items.Add(liebieid);reader2.Close();//导入项目MySqlCommand cmd3 = new MySqlCommand("SELECT proName FROM project WHERE CateId = @idd", conn);//创建Command对象cmd3.Parameters.AddWithValue("idd", liebieid);//添加值MySqlDataReader reader3 = cmd3.ExecuteReader();//创建MySqlDataReader对象//shouZhiXiangMu.Items.Clear();while (reader3.Read()){shouZhiXiangMu.Items.Add(reader3[0]);}reader3.Close();chenge();}private void zhiChu_CheckedChanged(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregionshouRuLeiBie.Items.Clear();//创建命令string sql = "SELECT CaName FROM Category WHERE Catype='1'";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象shouRuLeiBie.Items.Clear();while (reader.Read())//每次读一行显示在集合中{shouRuLeiBie.Items.Add(reader[0]);}shouRuLeiBie.SelectedIndex = 0;reader.Close();//获取选中类别名称string shouruleibie = "";if (shouRuLeiBie.SelectedIndex != -1){shouruleibie = shouRuLeiBie.SelectedItem.ToString();}else{shouRuLeiBie.SelectedIndex = 0;}shouZhiXiangMu.Items.Clear();//获取类别编号MySqlCommand cmd2 = new MySqlCommand("SELECT CateId FROM category WHERE CaName = @lb", conn);cmd2.Parameters.AddWithValue("lb", shouruleibie);MySqlDataReader reader2 = cmd2.ExecuteReader();//创建MySqlDataReader对象int liebieid = 0;while (reader2.Read())//每次读一行显示在集合中{liebieid = Convert.ToInt32(reader2[0]);}reader2.Close();//导入项目MySqlCommand cmd3 = new MySqlCommand("SELECT proName FROM project WHERE CateId = @idd", conn);//创建Command对象cmd3.Parameters.AddWithValue("idd", liebieid);//添加值MySqlDataReader reader3 = cmd3.ExecuteReader();//创建MySqlDataReader对象//shouZhiXiangMu.Items.Clear();while (reader3.Read()){shouZhiXiangMu.Items.Add(reader3[0]);}reader3.Close();chenge();}private void textBox2_TextChanged(object sender, EventArgs e){chenge();}private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){chenge();}private void shouZhiXiangMu_SelectedIndexChanged(object sender, EventArgs e){chenge();}private void shuoMing_TextChanged(object sender, EventArgs e){chenge();}private void My_CheckedChanged(object sender, EventArgs e){chenge();}private void Family_CheckedChanged(object sender, EventArgs e){chenge();}private void Relative_CheckedChanged(object sender, EventArgs e){chenge();}private void Classmate_CheckedChanged(object sender, EventArgs e){chenge();}private void Other_CheckedChanged(object sender, EventArgs e){chenge();}private void shouRuLeiBie_SelectedIndexChanged(object sender, EventArgs e){chenge();}private void button2_Click(object sender, EventArgs e){this.Hide();}}
}

(四)统计查询窗体


逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;namespace PersonalFinanceSystem
{public partial class statisticalQuery : Form{public statisticalQuery(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){string xiangmuName = textBox1.Text;#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregionlistBox1.Items.Clear();#region 查询//创建命令MySqlCommand cmd = new MySqlCommand("SELECT InDate,Person,Money,InExplain,caName FROM incomeAndExpenses,project,category WHERE incomeAndExpenses.CateId=project.CateId AND incomeAndExpenses.CateId=category.cateid AND project.ProName=@xmu;", conn);//创建Command对象cmd.Parameters.AddWithValue("xmu", xiangmuName);//添加值//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象while (reader.Read())//每次读一行显示在集合中{listBox1.Items.Add(string.Format("       日期\t收支人\t金额\t说明   \t收支类型\n"));listBox1.Items.Add(string.Format("{0}\t{1}\t{2}\t{3}\t{4}", reader[0], reader[1], reader[2],reader[3],reader[4]));}reader.Close();#endregion}private void statisticalQuery_Load(object sender, EventArgs e){}}
}

(五)添加收支项目窗体


逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;namespace PersonalFinanceSystem
{public partial class InExaccount : Form{public InExaccount(){InitializeComponent();}private void tabPage2_Click(object sender, EventArgs e){}private void button1_Click(object sender, EventArgs e){//获取项目名称string projectName = textBox1.Text;string shouruleibie = "";if (shouRuLeiBie.SelectedIndex != -1){shouruleibie = shouRuLeiBie.SelectedItem.ToString();}else{shouRuLeiBie.SelectedIndex = 0;}listBox1.Items.Clear();listBox1.Items.Add("项目名称:" + projectName);listBox1.Items.Add("类别:" + shouruleibie);tabControl1.SelectedIndex = 1;}private void tabPage1_Click(object sender, EventArgs e){this.tabControl1.SelectedTab = tabPage2;}private void button2_Click(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion//获取项目名称string projectName = textBox1.Text;string shouruleibie = "";//获取类别if (shouRuLeiBie.SelectedIndex != -1){shouruleibie = shouRuLeiBie.SelectedItem.ToString();}else{shouRuLeiBie.SelectedIndex = 0;}//获取类别编号MySqlCommand cmd = new MySqlCommand("SELECT CateId FROM category WHERE CaName=@leibie", conn);cmd.Parameters.AddWithValue("leibie", shouruleibie);MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象int liebieid=0;while (reader.Read())//每次读一行显示在集合中{liebieid =Convert.ToInt32(reader[0]);}reader.Close();//插入新项目数据#region 插入MySqlCommand cmdd = new MySqlCommand("insert into Project set CateId=@idd , ProName=@un", conn);cmdd.Parameters.AddWithValue("idd", liebieid);//添加值cmdd.Parameters.AddWithValue("un", projectName);//执行语句cmdd.ExecuteNonQuery();#endregionthis.Close();}private void listBox1_SelectedIndexChanged(object sender, EventArgs e){}private void radioButton1_CheckedChanged(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion//判断是收入还是支出if (radioButton1.Checked)//收入{#region 查询//创建命令string sql = "SELECT caName FROM Category WHERE Catype='0'";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象shouRuLeiBie.Items.Clear();while (reader.Read())//每次读一行显示在集合中{shouRuLeiBie.Items.Add(reader[0]);}shouRuLeiBie.SelectedIndex = 0;#endregion}else//支出{//创建命令string sql = "SELECT caName FROM Category WHERE Catype='1'";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象shouRuLeiBie.Items.Clear();while (reader.Read())//每次读一行显示在集合中{shouRuLeiBie.Items.Add(reader[0]);}shouRuLeiBie.SelectedIndex = 0;}}private void groupBox1_Enter(object sender, EventArgs e){}private void radioButton2_CheckedChanged(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion//判断是收入还是支出if (radioButton1.Checked)//收入{#region 查询//创建命令string sql = "SELECT caName FROM Category WHERE Catype='0'";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象shouRuLeiBie.Items.Clear();while (reader.Read())//每次读一行显示在集合中{shouRuLeiBie.Items.Add(reader[0]);}shouRuLeiBie.SelectedIndex = 0;#endregion}else//支出{//创建命令string sql = "SELECT caName FROM Category WHERE Catype='1'";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象shouRuLeiBie.Items.Clear();while (reader.Read())//每次读一行显示在集合中{shouRuLeiBie.Items.Add(reader[0]);}shouRuLeiBie.SelectedIndex = 0;}}private void InExaccount_Load(object sender, EventArgs e){}}
}

(六)用户管理窗体

逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;namespace PersonalFinanceSystem
{public partial class userManagement : Form{public userManagement(){InitializeComponent();}private void listBox1_SelectedIndexChanged(object sender, EventArgs e){}private void userManagement_Load(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion#region 查询//创建命令string sql = "select * from UserBill";//执行语句MySqlCommand cmd = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmd.ExecuteReader();//创建MySqlDataReader对象listBox1.Items.Add(string.Format("编号\t用户名\t密码"));while (reader.Read())//每次读一行显示在集合中{listBox1.Items.Add(string.Format("{0}\t{1}\t{2}", reader[0], reader[1], reader[2]));}#endregion}private void button1_Click(object sender, EventArgs e){#region 连接数据库//定义连接字符串string connStr = "Database=BillManagement;Data Source=127.0.0.1;port=3306;User Id=root;";MySqlConnection conn = new MySqlConnection(connStr);//创建Connection对象conn.Open();//打开数据库#endregion#region 插入string userName = textBox1.Text;string passWord = textBox2.Text;MySqlCommand cmd = new MySqlCommand("insert into UserBill set UserName=@un , UserPassWord=@pwd", conn);cmd.Parameters.AddWithValue("un", userName);//添加值cmd.Parameters.AddWithValue("pwd", passWord);//执行语句cmd.ExecuteNonQuery();#endregionlistBox1.Items.Clear();#region 查询//创建命令string sql = "select * from UserBill";//执行语句MySqlCommand cmdl = new MySqlCommand(sql, conn);//创建Command对象//执行命令--读取数据MySqlDataReader reader = cmdl.ExecuteReader();//创建MySqlDataReader对象// listBox1.Items.Add(string.Format("编号\t用户名\t密码"));while (reader.Read())//每次读一行显示在集合中{listBox1.Items.Add(string.Format("{0}\t{1}\t{2}", reader[0], reader[1], reader[2]));}#endregion}}
}

(七)关于窗体


逻辑代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace PersonalFinanceSystem
{public partial class aboutUs : Form{public aboutUs(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){this.Hide();}private void aboutUs_Load(object sender, EventArgs e){}}
}

C#实现个人理财软件小项目相关推荐

  1. 【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(一)创建项目和画界面

    本文默认你已经学习了上一篇文章,如果你还没有学习,就赶快去学习吧.关注博主,学习更多内容. 文章目录 前言 一.创建项目 1. 从模板创建项目 2. 使用pycharm打开项目 3. 安装Pyqt5库 ...

  2. 【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能

    本文默认你已经学习了上一篇文章,如果你还没有学习,就赶快去学习吧.关注博主,学习更多内容. 文章目录 前言 一.任务目的 要求 二.实现截图功能 1. 截图功能分析 理论依据 1. 截图功能 2. 支 ...

  3. “我曾经的小项目比我在软件行业十年产生的影响还要大”

    作者 | Michael Williamson 译者 | 王启隆 出品 | CSDN(ID:CSDNnews) 一位英国程序员Michael Williamson (下文称作Mike)于8月1号在他的 ...

  4. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)...

    两年前还在宁波时,我做过宁波教育局的一个小项目,一个部门内部使用的公文收发记录软件,这个项目当时是跟 他们的网络中心的老师洽谈的,网络中心负责此项目的老师,跟我们年龄差不多,30不到,可能要比我小上2 ...

  5. 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:收款验收部分)...

    从一开始,我就意识到这个项目,我是搞错了,我没有隐瞒领导(备注,我们领导有20年以上的工作经验),心态也好,心境也高, 2位领导经验也丰富,也信任我,我也是为了公司好,也是比较好的出发点,他们给我打了 ...

  6. Go 小项目1 - 家庭收支记账软件

    Go 小项目1 - 家庭收支记账软件 一)需求 1)模拟实现基于文本界面的<家庭记账软件> 2)该软件能够记录家庭的收入.支出,并能够打印收支明细表 二)编码 1)功能 1.完成主菜单的编 ...

  7. java小项目之成绩管理、排课软件、局域网聊天软件

    大三下,想把上个学期的一些东西整理一下.可能是突然有点想法吧. 我把答辩ppt以及文档要求还有项目文件夹全部都放在了我的github里面啦.点击打开链接 项目一 问题描述:教师在教学过程中,需要记录学 ...

  8. 仿qq左滑删除listview_Java基于Swing和Netty仿QQ界面聊天小项目

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 来源:b ...

  9. 【敬初学者】Python基础学完了,该怎么知道自己学的怎么样呢?十个经典实战小项目附源码

    前言 1.街霸游戏 1.1 KO街霸 程序完整源码 程序的输出界面 1.2 春丽VS巴洛克 参考源码 2.猜谜游戏 2.1简单的猜数字游戏 项目要求 参考源码 2.2 进阶的猜姓名游戏 项目要求 参考 ...

  10. android简单app实例_Android安卓小项目实战视频教程集锦

    Android安卓小项目实战视频教程,点击进入视频教程: 一.安卓项目视频教程: 1蓝牙聊天APP介绍-分步骤介绍一个简单安卓蓝牙APP的开发过程 - 西瓜视频 2蓝牙聊天开发流程-分步骤介绍一个简单 ...

最新文章

  1. leetcode算法题--丑数 II★
  2. Matlab中gradient函数的使用方法
  3. ML之xgboost:利用xgboost算法(自带方式)训练mushroom蘑菇数据集(22+1,6513+1611)来预测蘑菇是否毒性(二分类预测)
  4. java取json对象的值_java的JsonObject对象提取值方法
  5. javascript设计模式 ---序
  6. SpringBoot入门 2
  7. 51单片机电子制作------篮球比赛计分器
  8. tar 打包 . 开头的隐藏文件
  9. 基模高斯光束matlab_MATLAB 高斯光束传播轨迹的模拟
  10. wincc怎么c语言编程,WINCC几个常用C语言编程
  11. 订单系统设计 —— 订单管理
  12. 有哪些计算机软件可以录制声音,屏幕录制怎么录声音?这三个录屏软件需了解...
  13. win10自动修复无法关闭的解决方案
  14. Linux版本Java卸载
  15. 截图工具FastStone Capture 10.0官方简体中文版
  16. Linux_计划任务
  17. 新监管新纪元 大浪淘沙始见金——“9·4”政策回顾·行业前瞻
  18. 吴恩达深度学习作业编程1【识别猫片】
  19. .bat文件改为windows默认打开方式
  20. STM32数据采集及上云实现——DHT11温湿度采集

热门文章

  1. 第22.7节 性能篇-使用八叉树结构来管理场景
  2. 什么是SMART原则?
  3. Ubuntu串口驱动安装及串口权限设置
  4. JMeter-接口测试
  5. 科来网络分析工具基本操作与案例分析
  6. AutoResetEvent和ManualResetEvent的区别
  7. 2022年软考网络工程师考试备考指南
  8. 小学计算机键盘的初步认识教案,小学三年级信息技术--认识键盘教学设计(宋艳)[小编整理]...
  9. 由陌生到认识——微积分
  10. 江湖小白之一起学Python (三)双色球历史数据抓取