c#:datagridview显示数据了,怎么把它的变动更新到数据库?

privatevoidStores_Load(objectsender,EventArgse){SqlConnectioncon=newSqlConnection(str... private void Stores_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(str);
string sql = "select * from Wares";
SqlDataAdapter sda = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
sda.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
}
窗体启动后,datagridview1显示数据了。
在datagridview上修改数据后,我想把这变动更新到数据库里,怎么弄啊?
就先写在button2 click里吧。
private void button2_Click(object sender, EventArgs e)
{

}
里面怎么写?
展开
 我来答
创作者zUzVB1Sl31
2015-04-01 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部

代码写在类里面,要写完整了才能灵活应用,你不要每次操作都去打开一次数据库链接,那样会造成死锁。

        public DataSet ds = null;
        public SqlDataAdapter sda = null;
        public static SqlConnection conn = null;
        public void OpenLink()
        {
            conn = new SqlConnection();
            conn.ConnectionString = "Server=192.168.1.2;UID=sa;PWD=**112*;DataBase=454545";
            try
            {
                conn.Open();
            }
            catch
            {
               MessageBox.Show("连接数据库失败!");
            }
        }
     public void saveTable()         
     {
            if (ds != null)
            {
                sda.Update(ds.Tables[0]);
                MessageBox.Show("操作已成功!","保存数据",MessageBoxButtons.OK,MessageBoxIcon.Information);
            }
        }
        public void link(String sql)
        {
            if (conn != null)
            {
                ds = new DataSet();
                sda = new SqlDataAdapter();
                sda.SelectCommand = new SqlCommand(sql, conn);
                SqlCommandBuilder builder = new SqlCommandBuilder(sda);
                sda.Fill(ds);
            }
        }
        public void filldata(DataSet ds, BindingNavigator b, DataGridView d)
        {
            BindingSource bs = new BindingSource();
            bs.DataSource = ds.Tables[0];
            b.BindingSource = bs;
            d.DataSource = bs;
        }

在你整个项目启动的时候初始化数据就OpenLink(),filldata就是填充dataGridView绑定导航,link()直接填写SQL语句就好了,在link的基础上saveTable()

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式