回 帖 发 新 帖 刷新版面

主题:解析回数据库的问题???

表 teach 结构 ID  Name   ID为主键
表数据:1  张三
        2  李四
采用listbox显示该数据
现在我想修改第一条数据为 王三,再加一条数据 3   刘海
然后点保存按钮,一次性解析到库里,有什么办法???

回复列表 (共1个回复)

沙发


研究了二天写下如下代码,请高手指教。。。。。

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());
            }
        }

我来回复

您尚未登录,请登录后再回复。点此登录或注册