这种需求必须你自己写insert语句了,不能用dataAdapter,因为dataAdapter是根据dataSet里的Row是否被修改过来更新的。你这样新建的DataSet的Row,初始都停留在未修改的状态。
解决方案 »
- mschart 横坐标显示时间为年月日时分秒的问题
- 选取表里的某一列 信息,怎么操作
- 求一正则~
- 取一个网页的html,有时是html,有时是乱码,奇怪
- 如果我得到一个网络游戏的接口,是不是就几乎可以为所欲为了?
- 怎么用C#中的SerialPort写一个通信串口调试程序
- 如何使用正则表达式获取html里两标签之间的内容
- 关于RDLC报表的问题、进来看下啊!!!!急!!
- c#读取txt文件到datagridview问题请教
- 急救!!C#中调用VC++写的DLL如何正确声明及调用?
- web(c#)中的html中出现脚本错误”服务器无法创建对象“,详细请进,急,在线!!
- (立结20分超级简单的问题)这个程序错在那里??
2,用commandbuild
代码如下:
string db=Application.StartupPath+"\\database.mdb";
string ls_conn =@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+db;
OleDbConnection conn = new OleDbConnection (ls_conn);
int li_update=0;
DataSet sds=new DataSet();
try
{
OleDbDataAdapter adapter;
conn.Open(); OleDbCommand cmd=new OleDbCommand();
adapter=new OleDbDataAdapter();
adapter.SelectCommand=new OleDbCommand ("",conn);
cmd.CommandText="select * from Ciq_In_Apl";
cmd.Connection = conn;
adapter.SelectCommand = cmd; adapter.Fill(sds,"Table1");
sds.ReadXml("myXmlDoc.xml",System.Data.XmlReadMode.ReadSchema);
sds.Merge(sds);
adapter.Update(sds,"Table1");
sds.AcceptChanges();
if(li_update >= 0)
{
//info="成功";
return true;
}
else
{
return false;
}
是你的xml文件,不是dataSet的ReadSchema格式.所以在merge时不能得到row的rowstate.
如
m_DataLayer.DsTasks.GetChanges().WriteXml("c:/a.xml", XmlWriteMode.DiffGram);m_DataLayer.DsTasks.ReadXml("c:/a.xml", XmlReadMode.DiffGram);然后你可以用,ds.merge