和数据库建立连接后,往某个表中写数据,必须先打开这个表,打开语句的第一个参数是SQL语句,用"Select * from 表名",如果这个表数据很多,会不会影响速度?有没有直接往表中写新记录的办法?
解决方案 »
- 关于ToolTip显示鼠标坐标又由于View有滚动条,获取rect不全
- 单线程加锁会有什么效果
- 请问如何检测硬盘剩余空间的大小并删掉某一目录下最早建立的文件夹
- Windows关机时或注销时,是如何关闭正在运行的程序?
- 自认为有点小难度的问题~~~VC和数据库SQL的相关问题~~
- 下面调用为什么不行?谢谢
- 怎样在调试情况下查看分配内存中的数据
- 一个比较愁人的问题,不知道谁遇到过……
- 关于InstallShield的问题,UP有分,在线等候。
- 请教一个关于图像的插值的问题
- 怎么在BCGCBpro中的CWorkspaceBar下面实现资源管理器??
- 如何使用API函数实现树状视图中叶的图标的动态改变?
{
_RecordsetPtr pRecordset; //用于创建一个记录集
CString strSQL;
strSQL="INSERT INTO Table (a,b) VALUES ('123','456')";
//其中Table为表名,a,b为表的字段名,123,456为对a,b赋值
_variant_t var;
try
{
HRESULT hTRes;
hTRes = pRecordset.CreateInstance("ADODB.Recordset");
if (SUCCEEDED(hTRes))
{
hTRes = pRecordset->Open(strSQL.AllocSysString(),
theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);
if(SUCCEEDED(hTRes))
{
//AfxMessageBox("chenggong");
TRACE(_T("连接成功!\n"));
}
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
::MessageBox(theApp.GetMainWnd()->m_hWnd, e.ErrorMessage(), "失败!", MB_OK);
}
return TRUE;
}//记录要一条一条的加,多条可用循环
_ConnectionPtr m_pConnection;....m_pConnection->Execute("INSERT INTO users(ID,username,old,birthday) VALUES (1, 'Washington',25,'1970/1/1')",&RecordsAffected,adCmdText);只要建立了与数据库的连接后就可以用了。_CommandPtr也差不多。如果一定要用Recordset那SQL语句邮何必用 * 号啊,随便检索一个字段不就得了吗?^_^