一,建立连接
我使用的是sql server数据库,新建windows应用程序后,首先连接数据库,在App.config中添加以下代码:
二,建立一个类:SqlHelper
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace Windowsform
{
public class SqlHelper
{
public static DataSet Query(string sql)//将sql查询语句当成参数
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlConnection"].ConnectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
return dataSet;
}
}
public static int Execute(string sql)//将sql添加,删除,修改语句当成参数
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlConnection"].ConnectionString))
{
SqlCommand command = new SqlCommand(sql, connection);
connection.Open();
int flag = command.ExecuteNonQuery();
connection.Close();
return flag;
}
}
}
}
三,具体操作
1,数据绑定
新建windows窗体,添加GreatView控件。
后台代码:命名空间引用SqlHelper,创建一个方法InitStudent():
public void InitStudent()
{
DataSet ds = SqlHelper.Query("SELECT * FROM Students");
dataGV.DataSource = ds.Tables[0];
}
其中dataGV是GreatView控件名,然后在Load事件调用方法:
private void Student_Load(object sender, EventArgs e)
{
InitStudent();
}
效果如下:
2,添加
点击添加按钮,关闭当前窗体,打开一个新窗体Add。
private void btnAdd_Click(object sender, EventArgs e)
{
Add add = new Add();
this.Hide();
add.Show();
}
新窗体Add中,点击button添加,添加数据,关闭当前窗口,打开原来窗体Student,新窗体会显示新添加的数据。
private void btnAdd_Click(object sender, EventArgs e)
{
string name = tbName.Text.ToString();
int age = Convert.ToInt32(tbAge.Text);
string date = DateTime.Now.ToString();
SqlHelper.Execute($"INSERT INTO Students VALUES('{name}',{age},'{date}')");
this.Close();
Student student = new Student();
student.Show();
}
3,删除
private void btnDel_Click(object sender, EventArgs e)
{
int rowindex = dataGV.CurrentRow.Index;
int id= Convert.ToInt32(dataGV.Rows[rowindex].Cells[0].Value);
SqlHelper.Execute($"DELETE FROM Students Where Id={id}");
InitStudent();
}
4,修改
private void btnEdit_Click(object sender, EventArgs e)
{
int rowindex = dataGV.CurrentRow.Index;
int id =Convert.ToInt32(dataGV.Rows[rowindex].Cells[0].Value);
string name = dataGV.Rows[rowindex].Cells[1].Value.ToString();
int age =Convert.ToInt32(dataGV.Rows[rowindex].Cells[2].Value);
string data = dataGV.Rows[rowindex].Cells[3].Value.ToString();
SqlHelper.Execute($"UPDATE Students SET Name='{name}',age={age},Date='{data}' WHERE Id={id}");
}