求解C#中Winfrom的dataGridView怎么进行增删改数据库为Access

 我来答
创作者zUzVB1Sl31
2015-04-29 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

这就要求你代码要写得规范了:

     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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式