主题:解析回数据库的问题???
nfhongyan
[专家分:0] 发布于 2011-02-24 11:35:00
表 teach 结构 ID Name ID为主键
表数据:1 张三
2 李四
采用listbox显示该数据
现在我想修改第一条数据为 王三,再加一条数据 3 刘海
然后点保存按钮,一次性解析到库里,有什么办法???
回复列表 (共1个回复)
沙发
nfhongyan [专家分:0] 发布于 2011-02-25 19:15:00
研究了二天写下如下代码,请高手指教。。。。。
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());
}
}
我来回复