研究了二天写下如下代码,请高手指教。。。。。
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 编辑 ]