如何批量写入数据到SQL 有大量用户对同一数据表进行写操作,每个用户的数据量不大听说用户提交一次就用insert的话,就是要写一次盘,大量用户的话就不停的写盘,这样太慢了。是不是有一种操作可以收集到一定数据才写一次盘.就如ADO 用多次AddNew才Updata一次如果用存储过程又怎样实现??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 why not use Ado itself function? just you said using Update() 使用Ado的批更新功能,将游标设为adClient,添加完记录后,调用批更新函数参考Ado参考手册(chm)版 #include "comdef.h"#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")_ConnectionPtr pCon;_RecordsetPtr pRs;_variant_t vpRsAffected,RecordsAffected;BOOL FConnected;BSTR bstrSQL;CString StrSql;HRESULT Flag;try{ Flag = pCon.CreateInstance("ADODB.Connection");//创建Connection对象 if(SUCCEEDED(Flag)) Flag=pCon->Open((_bstr_t)"driver={SQL Server};Server=服务器名;DATABASE=数据库名;UID=数据库登录名;PWD=数据库口令","","",adModeUnknown);//连接数据库 if(SUCCEEDED(Flag)) Flag=pRs.CreateInstance("ADODB.Recordset"); if(SUCCEEDED(Flag)) FConnected=TRUE; else FConnected=FALSE; } catch(_com_error&err) { FConnected=FALSE; }if(!FConnected) AfxMessageBox("连接服务器的数据库失败!请检查网络正常!或其它!");StrSql="Insert into (ID,Name,Sex) values('001','BB',1); Insert into (ID,Name,Sex) values('002','CC',1);"; //也可以用存储过程名称bstrSQL=LDB_User->RunSql.AllocSysString(); pRs->Open(bstrSQL,(IDispatch*)pCon,adOpenDynamic,adLockOptimistic,adCmdText);//driver={SQL Server};Server=服务器名;DATABASE=数据库名;UID=数据库登录名;PWD=数据库口令 用DrawText绘制纵向文字的位置和格式问题 拦截edit消息 问一个比较弱的问题,望指教! windows下简单,那linux下如何读取xml文件,给个例子。100分。 常见问题总结6 COM初学者提问:请问在VB中如何与COM传递字符串参数? DB-Libray 评述,欢迎发言 我做了一个COM,为什么会“出现无效过程调用”的错误呢? 不知道这个问题菜不菜 DLL的棘手的问题,大家可以踊跃发表自己的意见,来者有分! 求《c++primer第三版》的二手书 请教一个关于button的问题,简单(谢谢各位,)
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")
_ConnectionPtr pCon;
_RecordsetPtr pRs;
_variant_t vpRsAffected,RecordsAffected;
BOOL FConnected;
BSTR bstrSQL;
CString StrSql;
HRESULT Flag;
try
{
Flag = pCon.CreateInstance("ADODB.Connection");//创建Connection对象
if(SUCCEEDED(Flag))
Flag=pCon->Open((_bstr_t)"driver={SQL Server};Server=服务器名;DATABASE=数据库名;UID=数据库登录名;PWD=数据库口令","","",adModeUnknown);//连接数据库
if(SUCCEEDED(Flag))
Flag=pRs.CreateInstance("ADODB.Recordset");
if(SUCCEEDED(Flag))
FConnected=TRUE;
else
FConnected=FALSE;
}
catch(_com_error&err)
{
FConnected=FALSE;
}
if(!FConnected)
AfxMessageBox("连接服务器的数据库失败!请检查网络正常!或其它!");StrSql="Insert into (ID,Name,Sex) values('001','BB',1); Insert into (ID,Name,Sex) values('002','CC',1);"; //也可以用存储过程名称
bstrSQL=LDB_User->RunSql.AllocSysString();
pRs->Open(bstrSQL,(IDispatch*)pCon,adOpenDynamic,adLockOptimistic,adCmdText);
//driver={SQL Server};Server=服务器名;DATABASE=数据库名;UID=数据库登录名;PWD=数据库口令