C# OLEDBDATAADAPTER 配合 commandbuilder 连接数据库和dataset时注意事项

数据库如果是ACCESS

//select

m_adapter = new OleDbDataAdapter();
m_command = new OleDbCommand(SQL, m_conn);
m_adapter.SelectCommand = m_command;


Dateset Ds = new DataSet();
Ds.Tables.Add(subtableName);
m_adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
m_adapter.Fill(Ds, subtableName);

//使用commandbuilder自动生成select语句,以后直接修改dataTable即可,不用自己写update,insert,delete的SQL,
m_commandbuilder = new OleDbCommandBuilder(m_adapter);
m_commandbuilder.QuotePrefix = "["; //ACCESS数据库字串是 select * from [tablename] .....
m_commandbuilder.QuoteSuffix = "]";

 

//update

m_command = new OleDbCommand(SQL, m_conn);
m_adapter.SelectCommand = m_command;

foreach(DataRow row in ds.tables[0].Rows) //我之前就是没把dt的每一行给endedit,所以一直没法更新
       row.EndEdit();

int r = m_adapter.Update(ds, tablename); //返回成功更新的行数
ds.AcceptChanges();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值