标题:更新数据库的问题?
只看楼主
nfhongyan
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2010-1-14
结帖率:100%
已结贴  问题点数:20 回复次数:7 
更新数据库的问题?
表 teach 结构 ID  Name   ID为主键
表数据:1  张三
        2  李四
采用listbox显示该数据
现在我想修改第一条数据为 王三,再加一条数据 3   刘海
然后点保存按钮,一次性保存到库里,有什么办法???

[ 本帖最后由 nfhongyan 于 2011-2-23 23:08 编辑 ]
搜索更多相关主题的帖子: 数据库 
2011-02-23 23:06
yehuanfeng
Rank: 4
等 级:业余侠客
帖 子:75
专家分:201
注 册:2010-8-3
得分:14 
在listbox里面修改吗?
2011-02-24 12:34
nfhongyan
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2010-1-14
得分:0 
是啊。修改、添加完一次性解析回数据库,listbox中记录怎么修改就不用说了。

[ 本帖最后由 nfhongyan 于 2011-2-24 13:34 编辑 ]
2011-02-24 13:19
nfhongyan
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2010-1-14
得分:0 
没人帮解答吗?难道要分开来做?修改作修改,增加作增加分开来?
2011-02-24 21:54
nfhongyan
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2010-1-14
得分:0 
研究了二天写下如下代码,请高手指教。。。。。

private void fzSave()
        {
            try
            {
                int dsrow;
                OleDbConnection con = new OleDbConnection(hysql.GetOleStr()); //连接数据库
                con.Open();

                OleDbDataAdapter oda = new OleDbDataAdapter("select ID,Name from teach", con);
                DataSet ds = new DataSet();
                oda.Fill(ds, "temp");
                OleDbCommandBuilder builder = new OleDbCommandBuilder(oda);
                dsrow = ds.Tables["temp"].Rows.Count;
                DataRow dr;
                if (lBox.Items.Count < dsrow)  //如果listbox中数据条数比dataset中数据条数少,则删除掉。
                {
                    for (int j = lBox.Items.Count; j < dsrow; j++)
                    {
                        ds.Tables["temp"].Rows[j].Delete();
                    }
                }

                for (int i = 0; i < lBox.Items.Count; i++)
                {
                    if (i < dsrow)     //相等数据就修改
                    {
                        ds.Tables["temp"].Rows[i][1] = lBox.Items[i].ToString();
                    }
                    else    //大于则添加
                    {
                        dr = ds.Tables["temp"].NewRow();
                        dr["name"] = lBox.Items[i].ToString();
                        ds.Tables["temp"].Rows.Add(dr);
                    }
                }
                oda.Update(ds, "temp");  //最后更新
                oda.Dispose();
                con.Close();
            }
            catch (Exception eu)
            {
                MessageBox.Show(eu.ToString());
            }
        }

[ 本帖最后由 nfhongyan 于 2011-2-25 11:15 编辑 ]
2011-02-25 11:13
nfhongyan
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2010-1-14
得分:0 
请高手指点,或优化代码。。。。。
2011-02-25 11:14
liubobo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-3-1
得分:0 
~~~~~~
2011-03-01 18:39
liubobo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-3-1
得分:0 
新手一个 编程第一天接触
2011-03-01 18:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-332688-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052510 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved