工具类:
/****************************
数据库接口
****************************/
//增加的头文件
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中有更详细的教程