原创 SQL2000中ADO属性在VC的实际应用问题

2010-5-17 00:16 2690 6 7 分类: 软件与OS


_ConnectionPtr链接集链接即打开数据库

m_SqlConnection.CreateInstance("ADODB.Connection");
// strWay="driver={SQL Server};Server=" + sqlname + ";DATABASE=MyDataBase;UID=" + sqluser + ";PWD=" + sqlpass;
strWay="driver={SQL Server};Server=" + sqlname + ";DATABASE=调度信息库";
m_SqlConnection->ConnectionTimeout = 10;//设置超时时间为10秒
m_SqlConnection->CursorLocation = adUseClient;
m_SqlConnection->Open((_bstr_t)strWay,(_bstr_t)sqluser,(_bstr_t)sqlpass,adModeUnknown);

_RecordsetPtr 记录集打开数据表(中的记录)

m_SqlRecordset.CreateInstance("ADODB.Recordset");
m_SqlRecordset->Open((_variant_t)("SELECT * FROM 城市表 WHERE 省份='"+str+"' AND 城市 IS NOT NULL"),
(IDispatch*)m_SqlConnection,
adOpenStatic,
adLockOptimistic,
adCmdText);


_CommandPtr 命令集打开数据表即执行命令
m_pCommand.CreateInstance("ADODB.Command");
m_pCommand->ActiveConnection = m_SqlConnection;
m_pCommand->CommandType=adCmdText; 

vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;


sprintf(buf,"DELETE FROM 接收短信 WHERE ID=%d",index);
m_pCommand->CommandText=buf; //命令字串。
m_pCommand->Execute(&vNULL,&vNULL,adCmdText);///执行命令。



_ParameterPtr 参数集主要用于存储过程

_ParameterPtr param;
param=m_pCommand->CreateParameter(_bstr_t("@user"),adVarChar,adParamInput,20);
param->Value=_variant_t(logname);.
m_pCommand->Parameters->Append(param);

_variant_t vNULL;
vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;
m_pCommand->Execute(&vNULL,&vNULL,adCmdStoredProc);


建议用属性更简单
m_pCommand->Parameters->Refresh();  
m_pCommand->Parameters->Item["@user"]->Value=_variant_t(logname);  
m_pCommand->Parameters->Item["@operation"]->Value=_variant_t(operation);  
m_pCommand->Parameters->Item["@oper_type"]->Value=_variant_t(oper_type);  

再如:

//四种操作字段的写入方法
m_pRecordset->Collect["名称"] = _variant_t(m_strName);
// m_pRecordset->Fields->Item["名称"]->Value = _variant_t(m_strName);
// m_pRecordset->PutCollect("名称", _variant_t(m_strName));
// m_pRecordset->GetFields()->GetItem("名称")->PutValue(_variant_t(m_strName));

//四种操作字段的读取方法
m_cmbCity.AddString((_bstr_t)m_SqlRecordset->Collect["城市"]);
// m_cmbCity.AddString((_bstr_t)m_SqlRecordset->Fields->Item["城市"]->Value);
// m_cmbCity.AddString((_bstr_t)m_SqlRecordset->GetCollect("城市"));
// m_cmbCity.AddString((_bstr_t)m_SqlRecordset->GetFields()->GetItem("城市")->GetValue());








#5楼 得分:0回复于:2010-05-15 20:41:23


m_SqlRecordset.CreateInstance("ADODB.Recordset");
m_SqlRecordset->CursorLocation = adUseClient;
  m_SqlRecordset->Open(_variant_t(str),
_variant_t((IDispatch*)m_SqlConnection),
adOpenStatic,
adLockOptimistic,
adCmdText);
CString strFind;
strFind.Format("主叫号码 = %s", m_strCheck);
strFind.Format("主叫号码 LIKE \'%%%s%%\'", m_strCheck);
  m_SqlRecordset->Fields->Item["主
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1584993 2010-5-17 15:04

身体好些了吗裴老

用户130985 2007-12-24 13:25

I want to collect them.

Thank you!

相关推荐阅读
雁塔菜农 2012-04-05 17:51
2012年度新唐Cortex-M0助学开发套件有约束条件赠送申报贴
2012年度新唐Cortex-M0助学套件从4月起每月有约束条件发放16套。 申报人必须是21ic或 EDNC 会员 并具备1月的会龄。 申报时必须注明“遵守约束条件,缴纳250元订金,上...
雁塔菜农 2012-04-05 17:04
2012年度Cortex-M0助学园地推广框图
...
雁塔菜农 2012-04-01 17:59
2012年度Cortex-M0助学园地奖励计划细则
抢楼请点击:菜地公告:即日起创建《菜农Cortex-M0助学园地》(盖楼入口) 每月10号和25号的下午2:50进行2次抢楼,规则同去年12月的疯狂抢楼活动。 奖品由21IC、北航、广州迪圣...
雁塔菜农 2012-02-03 08:19
菜农谋略:搞定牛人宋俊德,对女牛人孙昌旭说:“记住,俺是雁塔菜农~~~ ”
http://www.baidu.com/s?wd=%B2%CB%C5%A9%D0%A6%CC%B8%A1%B6%D0%C2%C0%CB%C3%FB%C8%CB%D0%A7%D3%A6%A1%B7...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条