C#第四天 写了一个数据库管理界面 包含到很多知识 也学到很多存一下 感觉搞得有点偏快 记录一下爬忘 初学者代码较low
放一下 :) 背单词
数据库比较轻量,用的Access (学长连接好的 写好的类和方法) 是一个三级level1 level2 level3结构
level1条目较少12条吧永恒不变 存到内存了 level2有独立的序列id,从属于第几条lvele1,本身的content, 还有存取的level3的多内容 以;;做分割符(条3专门写了个C++处理字符)
功能包含后两级的增删改
from布局大概也是这样 三级三列显示 name第一列label+"level1id" 第二列 Level2Label+"level2id" 第三列Level3Lable+"level3id"
动态生成Label控件实现 操作(不知道优秀的C#程序员用什么方法)
页面的布局大概是这样
在作业项目和危险点分析下面有
作业总则定死的 作业项目 危险点分析是同态生成的Label控件
tableLayoutPanel1 Level2_panel Level3_panel
很low吧 - -
实现增添删
删除直接提示 删除然后
其中增加 修改 用到另一个含有输入框的LavelAllAdd窗体
删除就直接在DBManager上了
下面是DBManager代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Text.RegularExpressions;
namespace power_project.AppForm
{
public partial class DBManager : Form
{
public String TmpLabName ="1";
public String TmpLv2Name = "1";
public String TmpLv3Name = "1"; //当前选中项
//String Level2Color = "0"; //记录颜色变化
//String Level3Color = "0";
power_project.Public_Class.DataAccessClass MyDataAccess = new Public_Class.DataAccessClass(); // 创建数据库对象
public DBManager()
{
InitializeComponent();
}
private void DBManager_Load(object sender, EventArgs e)
{
}
// 模拟hover特效
private void Level1_Enter(object sender, EventArgs e)
{
Label label = (Label)sender;
label.ForeColor = Color.Red;
}
private void Level1_Leave(object sender, EventArgs e)
{
Label label = (Label)sender;
label.ForeColor = Color.MediumBlue;
}
// endhover
private void Level1_Click(object sender, EventArgs e)
{
level2_panel.Controls.Clear();
int Level2_Rows = 0;
Label label = (Label)sender;
TmpLabName = label.Name.Substring(5);
//MessageBox.Show(TmpLabName);
OleDbDataReader tmpDR = MyDataAccess.Read_Cmd("select * from tb_user_privilege where (level1_belong =" + TmpLabName+") order by id ASC");
while(tmpDR.Read())
{ Level2_Rows++;
Label lb = new Label();
lb.Name = "Level2Lable" + Level2_Rows;
lb.Text = TmpLabName+"-"+Level2_Rows+":"+tmpDR["level2_des"].ToString();
lb.Width = 400;
lb.Height = 35;
lb.Click += new EventHandler(this.Level2_Click);
lb.BackColor = Color.White;
Point TP = new Point(0, 40 * (Level2_Rows - 1));
lb.Location = TP;
level2_panel.Contro