求解C#中Winfrom的dataGridView怎么进行增删改数据库为Access
1个回答
展开全部
这就要求你代码要写得规范了:
public DataSet ds = null;
public SqlDataAdapter sda = null;
public static SqlConnection connSM = null;
void OpenLink() //打开数据库
{
connSM = new SqlConnection();
connSM.ConnectionString="连接字符串";
connSM.ConnectionString = cnStr;
try
{
connSM.Open();
}
catch
{
connSM.Close();
}
}
public void linkSQL(String sql) //查询
{
if (cnn != null)
{
ds = new DataSet();
sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand(sql, connSM);
SqlCommandBuilder builder = new SqlCommandBuilder(sda);
sda.Fill(ds);
}
}
public void filldata(DataSet ds, BindingNavigator b, DataGridView d)
{
//把数据填充到dataGridView并且加上导航
BindingSource bs = new BindingSource();
bs.DataSource = ds.Tables[0];
b.BindingSource = bs;
d.DataSource = bs;
}
public void saveTable() //直接在dataGridView里修改可以保存
{
if (ds != null)
{
sda.Update(ds.Tables[0]);
MessageBox.Show("操作已成功!", "保存数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
把上面的写在类里面,系统进去就Openlink()打开连接,然后你要使用这样写(一般写在逻辑层里):
//全局引用
类名 l=new 类名();
void SetData()
{
l.linkSql("SQL 语句");
l.fillData(l.ds,bindingNavigator1, dataGridView1);
}
这样你就随意在dataGridView编辑,编辑完了加个保存动作(不在执行linkSql前提下):
void save()
{
l.saveTable();
}
这就算保存了,不需要弄一堆增删查,借助dataGridView
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询