if(s[i].Length>0)
{
myada.InsertCommand=new OleDbCommand(s[i],mycnn);
}
}
myada.Update(ds,"one");
-------------------------------------------------------------------------
if(s[i].Length>0)
{
myada.InsertCommand=new OleDbCommand(s[i],mycnn);
myada.Update(ds,"one");
}
}
{
myada.InsertCommand=new OleDbCommand(s[i],mycnn);
}
}
myada.Update(ds,"one");
-------------------------------------------------------------------------
if(s[i].Length>0)
{
myada.InsertCommand=new OleDbCommand(s[i],mycnn);
myada.Update(ds,"one");
}
}
int a=123; a=54645 ; a=.... 无论你对他赋值多少次它的值只能是最后一个
不要把InsertCommand放在循环中,而是在循环外面设置,比如循环后,而且INSERTCOMMAND的COMMANDTEXT也要修改,通过参数的形式来实现。至于该如何实现有效的INSERTCOMMAND,你可以通过相应的SELECTCOMMAND的COMMANDTEXT来生成:OleDbCommandBuilder cb=new OleDbCommandBuilder(myada);
myada.InsertCommand=cb.GetInsertCommand();
然后创建一个参数化Insert语句并赋值给myada.InsertCommand。
最后使用myada.Update方法。
s[i]="INSERT INTO 个人信息(姓名)VALUES('"+newrow[1].ToString() +"')";一般只要写成"insert into 个人信息(姓名) values(:姓名)"就可以了。
注意,DotNet这种传参的写法有几种,上面这种是Oracle数据库的用法,好像Oledb也是这种用法(忘了)还有一种是:
insert into 个人信息(姓名) values(@姓名) (常用于Sql Server)
insert into 个人信息(姓名) values(?) (这是通用的,不过用这种方法时,你DataTable的字段必须知道个数和顺序!