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

来源:互联网 发布:linux 虚拟化 多台 编辑:程序博客网 时间:2024/06/03 15:01

工具类:

/****************************数据库接口****************************///增加的头文件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();        }


常用格式示范:


//初始化ListViewlistView1.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中有更详细的教程




0 0
原创粉丝点击