0

我想删除数据库表中的一些特殊字符。我已经使用强类型表来做到这一点。当我从数据库中将所有数据放入数据集中并对其进行修改时,我调用数据适配器的方法 update() 将数据集转换为数据库,但它不起作用。

下面是我的代码

DsTel tel = new DsTel();

            DsTelTableAdapters.telephone_bkTableAdapter adapter = new DsTelTableAdapters.telephone_bkTableAdapter();
            adapter.Connection = new SqlConnection(ConfigurationManager.AppSettings["SiteSqlServer"].ToString());
            adapter.Fill(tel.telephone_bk);

            foreach (DsTel.telephone_bkRow row in tel.telephone_bk.Rows)
            {

                row.telephoneNo = RemoveWhiteSpace(row.telephoneNo.ToString());
                row.AcceptChanges();
            }
            tel.AcceptChanges();
            adapter.Update(tel.telephone_bk);

请给我一些想法?

提前致谢。

4

2 回答 2

1

我通过使用 TableAdapterManager 找到了解决此问题的方法。

下面是我的代码:

DsTel 电话 = 新的 DsTel();

            DsTelTableAdapters.telephone_bkTableAdapter adapter = new DsTelTableAdapters.telephone_bkTableAdapter();
            adapter.Connection = new SqlConnection(ConfigurationManager.AppSettings["SiteSqlServer"].ToString());

            adapter.Fill(tel.telephone_bk);

            foreach (DsTel.telephone_bkRow row in tel.telephone_bk.Rows)
            {
                                    if (!row.IstelephoneNoNull())
                {

                    row.telephoneNo = RemoveWhiteSpace(row.telephoneNo.ToString());
                }


            }

            DsTelTableAdapters.TableAdapterManager mrg = new DsTelTableAdapters.TableAdapterManager();
            mrg.telephone_bkTableAdapter = adapter;
            mrg.BackupDataSetBeforeUpdate = true;
            mrg.UpdateAll((DsTel)tel.GetChanges());
于 2010-01-25T07:16:14.587 回答
0

AcceptChanges在更新前打过电话。这意味着数据集不再有任何更改,因此没有任何内容要发送到数据库。
删除所有调用AcceptChanges并在更新后添加一个。IE:

DsTel tel = new DsTel();

DsTelTableAdapters.telephone_bkTableAdapter adapter = new DsTelTableAdapters.telephone_bkTableAdapter();
adapter.Connection = new SqlConnection(ConfigurationManager.AppSettings["SiteSqlServer"].ToString());
adapter.Fill(tel.telephone_bk);
foreach (DsTel.telephone_bkRow row in tel.telephone_bk.Rows)
{
    row.telephoneNo = RemoveWhiteSpace(row.telephoneNo.ToString());
}
adapter.Update(tel.telephone_bk);
tel.telephone_bk.AcceptChanges();
于 2010-01-23T06:38:43.343 回答