钱人俊(shakaqrj)在线状态 19小时前

社区头衔:
社区专家 (专家排行榜
社区生日:
2007-07-24 |生日:1999-03-01
所在城市:
中国 江苏 南京
技术专长:
VC
开发工具:
兴趣爱好:
个人简介:
很好很强大!
所在行业:
所在公司:
 
(仅好友可见)
联系方式:
(仅好友可见)
 
编辑我的资料
人气:
[人气排行榜] 共 739 人访问 / 查看详细
专家分:
[专家分排行榜] 共 17035 分 / 查看详细
可用分:
[可用分排行榜] 共 2722 分
所获勋章:

2

个人动态
昨天
10月14
10月13
10月10
博客
查看全部

共0 篇文章

留言
查看全部

共 13 条留言

张涛 2008-07-18

你好,我有个问题请教!<br/>在vc中,<br/>我想用ado的方式连接mysql<br/>网上有人介绍安装odbc驱动,建立数据源,然后连接!<br/>现在我有两个问题:<br/>1. 上面这种方式到底属于ado, 还是odbc连接方式?<br/>2. 如果我不想用上面的方式,想直接连接数据库!该怎么做呢?<br/>注:以前我用ado的方式连接过sqlserver,能不能只修改它连接字符串,从而连接mysql呢?<br/> 非常感谢!<br/>期待你的回答哦! 

王以山 2008-07-09

支持一下!

zhengq06 2008-06-21

       版主您好,我在这个帖子http://topic.csdn.net/u/20080621/12/f71701d8-15e0-4b4e-9b4f-b8bcb391e6f2.html<br/>  上不小心把自已数据库的地址,密码给透露了,麻烦帮我改下啊.<br/><br/>   谢谢,谢谢!!!

haohao915 2008-04-27

      你的图象很可爱!!!

沒名字 2007-12-28

貌似都没回复过留言

沒名字 2007-12-28

麻烦再去看看http://topic.csdn.net/u/20071228/10/9f731911-2d2d-4cf8-bb35-ccf858353b4b.html谢谢..

lyayfy 2007-12-25

高手,谢谢你之前给我的解答,我还想问下以下代码<br/>void Qurey::OnButton2() <br/>{<br/> UpdateData();<br/> CString sSQL;<br/>    SYSTEMTIME   time;   <br/>    GetSystemTime(&time);   <br/>    int   year   =   time.wYear ; <br/>    int   month   =   time.wMonth ;  <br/>    int   day   =   time.wDay;  <br/> int price = 0;<br/> _variant_t  vField;<br/><br/> CoInitialize(NULL);<br/> _ConnectionPtr pConn(__uuidof(Connection));<br/> _RecordsetPtr pRst1(__uuidof(Recordset));<br/> CString  str = "Provider=MSDAORA.1;Password=123456;User ID=liyang;Data Source=orcl;Persist Security Info=True";<br/> pConn->Open(_bstr_t(str),"","",adConnectUnspecified);<br/> sSQL.Format("select * from object where oid = %d",m_oid);<br/>    pRst1 = pConn->Execute(_bstr_t(sSQL),NULL,adCmdText);<br/> vField = pRst1->GetFields()->GetItem((long)15)->Value;<br/> price = vField.intVal;<br/> <br/> sSQL.Format("insert into temp values('%s',%d,to_date('18450309','yyyymmdd'))",m_oid,price);<br/> pConn->Execute(_bstr_t(sSQL),NULL,adCmdText);<br/><br/> <br/> // TODO: Add your control notification handler code here<br/> <br/>}<br/>在获得PRICE处就出错,为什么呢!看了几本书,改过来改过去就是不行,是连的ORCLE<br/>还想问下,我前面的三个获得系统时间的变量的用法对吗,有什么办法这三个变量做为日期在INSERT语句中插入到我的另一个表中吗??谢谢了!~~~~~~~~~

cjjwxyza 2007-12-16

谢谢回复~~<br/>

王勇 2007-12-13

专家,您好<br/><br/>ExecProc(const CString& strProcName,   \\要执行的存储过程名字<br/>         long* returnIntfromProc,      \\存储过程返回值在VC6中对应的变量<br/>         const CString& strInParam,    \\传递给存储过程的输入参数<br/>         CString& strOutParam)         \\存储过程的output参数对应的C  变量<br/>{<br/> // 定义智能指针,并初始化<br/> _ConnectionPtr Conn;<br/> Conn.CreateInstance(__uuidof(Connection))<br/> _CommandPtr cmd;<br/> _RecordsetPtr rsp;<br/> _ParameterPtr returnParam,INParam,OutParam;<br/> try{<br/> cmd.CreateInstance(__uuidof(Command));<br/> rsp.CreateInstance(__uuidof(Recordset));<br/> cmd->ActiveConnection = Conn;<br/> cmd->CommandText = _bstr_t(strProcName); <br/> returnParam=cmd->CreateParameter(_bstr_t("returnParam"),adInteger,adParamReturnValue,sizeof(int));<br/>  cmd->Parameters->Append(returnParam);<br/> INParam=cmd->CreateParameter(_bstr_tINParam"),adBSTR,adParamInput,300,(_variant_t)strInParam);<br/> cmd->Parameters->Append(INParam);<br/> OutParam=cmd->CreateParameter(_bstr_t("OutParam"),adBSTR,adParamInput,300);<br/> cmd->Parameters->Append(OutParam);<br/> cmd->Execute(NULL, NULL, adCmdStoredProc);<br/>        // 往后的工作是把存储过程的返回值returnParam中的值取到对应的C  变量returnIntfromProc中,<br/>        //  把存储过程的返回参数OutParam中的值取到对应的C  变量strOutParam<br/><br/> //怎么做???!!!<br/><br/>// 按照您提供的文章,代码继续如下: <br/> _variant_t result = cmd->Parameters->GetItem("returnParam")->GetValue();<br/> if(result.vt==VT_14)returnIntfromPoc = result.iVal;<br/> result = cmd->Parameters->GetItem("OutParam")->GetValue();<br/> if(result.vt==VT_BSTR)strOutParam = result.bstrVal;<br/><br/>我在VC6中调试该代码段,存储过程调用能够顺利执行,用查询分析器打开过程中的表结构,都按照设想生成了,但下步取return参数产生异常,<br/>而我通过注释掉取return参数的两行,尝试直接读OutPut参数,虽然没有报错,但结果读出的都是"0",而我在查询分析器得到的结果是符合预期的。<br/><br/>请明示,真的急等。。。<br/><br/>

王勇 2007-12-13

你好,感谢你的回复。但我按照你提供的那篇文章操作似乎有些问题,我整理如下,恳请指出错误<br/><br/>ExecProc(const CString& strProcName,   \\要执行的存储过程名字<br/>         long* returnIntfromProc,      \\存储过程返回值在VC6中对应的变量<br/>         const CString& strInParam,    \\传递给存储过程的输入参数<br/>         CString& strOutParam)         \\存储过程的output参数对应的C  变量<br/>{<br/> // 定义智能指针,并初始化<br/> _ConnectionPtr Conn;<br/> Conn.CreateInstance(__uuidof(Connection))<br/> _CommandPtr cmd;<br/> _RecordsetPtr rsp;<br/> _ParameterPtr returnParam,INParam,OutParam;<br/> try{<br/> cmd.CreateInstance(__uuidof(Command));<br/> rsp.CreateInstance(__uuidof(Recordset));<br/> cmd->ActiveConnection = Conn;<br/> cmd->CommandText = _bstr_t(strProcName); <br/> returnParam=cmd->CreateParameter(_bstr_t("returnParam"),adInteger,adParamReturnValue,sizeof(int));<br/>  cmd->Parameters->Append(returnParam);<br/> INParam=cmd->CreateParameter(_bstr_tINParam"),adBSTR,adParamInput,300,(_variant_t)strInParam);<br/> cmd->Parameters->Append(INParam);<br/> OutParam=cmd->CreateParameter(_bstr_t("OutParam"),adBSTR,adParamInput,300);<br/> cmd->Parameters->Append(OutParam);<br/> cmd->Execute(NULL, NULL, adCmdStoredProc);<br/>        // 往后的工作是把存储过程的返回值returnParam中的值取到对应的C  变量returnIntfromProc中,<br/>        //  把存储过程的返回参数OutParam中的值取到对应的C  变量strOutParam<br/><br/> //怎么做???!!!<br/><br/>// 按照沙发提供的文章,代码继续如下: <br/> _variant_t result = cmd->Parameters->GetItem("returnParam")->GetValue();<br/> if(result.vt==VT_14)returnIntfromPoc = result.iVal;<br/> result = cmd->Parameters->GetItem("OutParam")->GetValue();<br/> if(result.vt==VT_BSTR)strOutParam = result.bstrVal;<br/><br/>我在VC6中调试该代码段,存储过程调用能够顺利执行,用查询分析器打开过程中的表结构,都按照设想生成了,但下步取return参数产生异常,<br/>而我通过注释掉取返回参数的两行,尝试直接读OutPut参数,结果读出的都是"0",而我在查询分析器得到的结果是符合预期的。<br/><br/>