求助,如何使用ADO的RecordSet对象的Addnew方法 我现在使用本地Access数据库,批量插入数据时,如果循环用insert ... into ... 语句,很慢,三万条数据需要一分半钟,网上有人说使用rs.addnew比用insert快。求助!Addnew方法怎么使用?希望能给个简单完整的例子说明下,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Addnew是ado里面的 不是ado.netsql ="select * from tab"rs.open sql,conn,3,3rs.addnewrs("user")="小男"rs("pass")="333333"rs.update 谢谢 net_lover ,虽然不是很详细,不过我还是实现这个功能了,源代码贴出来(例子) public bool WriteToDataBase_Addnew(string str_TableName, DataTable dt, out string str_info) { string sAccessConnection = @"Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + SystemConfig.DataBasePath; ADODB.Connection conn = new Connection(); ADODB.Recordset rs = new Recordset(); try { conn.Open(sAccessConnection, "", "", 0); rs.Open(str_TableName, conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, (int)ADODB.CommandTypeEnum.adCmdTable); object missing = System.Reflection.Missing.Value; // for (int i = 0; i < dt.Rows.Count; i++) { rs.AddNew(missing, missing); rs.Fields["id"].Value = dt.Rows[i]["id"]; rs.Fields["name"].Value = dt.Rows[i]["name"]; rs.Update(missing, missing); } // str_info = ""; rs.Close(); conn.Close(); return true; } catch (Exception ex) { str_info = ex.Message; return false; } } 经过测试发现,使用rs.Addnew插入三万条数据,只需要35秒左右,比之前使用insert的一分半钟省了将近2/3时间 读取listBox中的文本内容 .net cf 在 wm6.1上的表现~~ Gridview选中某行,和设定某行某列的一个值的链接? 如何将数字转换成英文 评分器 从C++跳到C#还有很多东西要请教啊! 怎么样去获得数组元素的类型?(Keyword: Type, Array) C# 怎样实现数据分页? 如何进行磁盘映射?别网络一个共享文件夹映射成为本地一个磁盘 如何重绘datagrid的其中一列数据,比如原来是1,要显示为0.001 C# Winform项目界面风格的设置 Dns.GetHostEntry(hostIP)无法获取主机名
sql ="select * from tab"
rs.open sql,conn,3,3
rs.addnew
rs("user")="小男"
rs("pass")="333333"
rs.update
{
string sAccessConnection = @"Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + SystemConfig.DataBasePath;
ADODB.Connection conn = new Connection();
ADODB.Recordset rs = new Recordset();
try
{
conn.Open(sAccessConnection, "", "", 0);
rs.Open(str_TableName, conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, (int)ADODB.CommandTypeEnum.adCmdTable);
object missing = System.Reflection.Missing.Value;
//
for (int i = 0; i < dt.Rows.Count; i++)
{
rs.AddNew(missing, missing);
rs.Fields["id"].Value = dt.Rows[i]["id"];
rs.Fields["name"].Value = dt.Rows[i]["name"];
rs.Update(missing, missing);
}
//
str_info = "";
rs.Close();
conn.Close();
return true;
}
catch (Exception ex)
{
str_info = ex.Message;
return false;
}
}