数据库与C#控件接口,以及一些常用函数

工具类:

/****************************
数据库接口
****************************/
//增加的头文件
using System.Data;
using System.Data.SqlClient;

    class DB
    {
        private SqlConnection sqlConnection;

        //构造函数
        public DB(string dbName)
        {
            sqlConnection = new SqlConnection("server=(local);database="+dbName+";Trusted_Connection=SSPI;");//进行简单连接
            sqlConnection.Open();
        }
        
        //带返回查询
        public DataTable get(string sql)
        {
            SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(new SqlCommand(sql, sqlConnection));//取得结果集
            //格式转换
            DataTable dataTable = new DataTable();
            sqlDataAdapter.Fill(dataTable);
            return dataTable;
        }
        
        //无返回查询
        public void set(string sql)
        {
            new SqlCommand(sql, sqlConnection).ExecuteNonQuery();
        }
        
        //析构函数
        public void Dispose()
        {
            sqlConnection.Close();//断开连接
        }
	}


/*****************************
窗口之间传值
*****************************/
    class Intent
    {
		//通过设置全局有效的变量进行传值
        public static Dictionary<string, Object> dict = new Dictionary<string, Object>();  
    }


常用函数:


		//加载至ListView
		//dt - 接口查询到的数据表
		//lv - 目标控件
        private void table2listView(DataTable dt,ListView lv)
        {
            lv.BeginUpdate();
            lv.Items.Clear();
            foreach(DataRow row in dt.Rows)
            {
                ListViewItem lvi=new ListViewItem();
                for(int i=0;i<row.ItemArray.Length;i++)
                {
                    if(i==0)
                    {
                        lvi.Text = row[i].ToString();
                    }
                    else
                    {
                        lvi.SubItems.Add(row[i].ToString());
                    }
                }
                lv.Items.Add(lvi);
            }
            lv.EndUpdate();
        }

		//加载至ComboBox
		//dt - 接口查询到的数据表(单列)
		//cb - 目标控件
		//defaultStr - 默认显示内容,留空表示不显示
        private void table2comboBox(DataTable dt,ComboBox cb,string defaultStr="")
        {
            cb.BeginUpdate();
            cb.Items.Clear();
            if (defaultStr != "")
            {
                cb.Items.Add(defaultStr);
                cb.SelectedIndex = 0;
            }
            foreach(DataRow row in dt.Rows)
            {
                cb.Items.Add(row[0].ToString());
            }
            cb.EndUpdate();
        }


常用格式示范:


//初始化ListView
listView1.Columns.Add("员工号", listView1.Width / 4 - 1);
listView1.Columns.Add("姓名", listView1.Width / 4 - 1);
listView1.Columns.Add("性别", listView1.Width / 4 - 1);
listView1.Columns.Add("年龄", listView1.Width / 4 - 1);

//点击跳转并返回
private void button1_Click(object sender, EventArgs e)
{
	Form2 form2 = new Form2();//新建一个窗口
	Intent.dict["formName"] = "增加员工";
	if(form2.ShowDialog()==DialogResult.OK)//等待返回
	{
		//处理返回结果
		foreach(ListViewItem item in listView1.Items)
		{
			if(item.SubItems[0].Text==Intent.dict["empNo"].ToString())
			{
				MessageBox.Show("员工号已存在!");
				return;
			}
		}

		string sql = "insert into EMPLOYEE values('" +
			Intent.dict["empNo"] + "','" +
			Intent.dict["empName"] + "','" + 
			Intent.dict["empSex"] + "'," + 
			Intent.dict["empAge"] + ")";
		db.setBySql(sql);

		loadAllData();
	}
}


//接收方窗口返回正确方法
this.DialogResult = DialogResult.OK;//设置返回结果
this.Close();//关闭窗口

//简单检查数字方法(用NumericUpDown控件貌似更加方便)
int Age=0;
if(!int.TryParse(textBox4.Text,out Age)||Age<=0)
{
	MessageBox.Show("年龄输入有误!");
	return;
}

另外关于数据库方面, w3school中有更详细的教程




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值