WxAdoImpl.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780
  1. #include "StdAfx.h"
  2. #include "WxAdoImpl.h"
  3. #include "Global.h"
  4. #include "WxAdoPool.h"
  5. #define GETDBPTR(dwTimeOut) \
  6. pAdoObj pObj = NULL;\
  7. CAdoConnGuard tagConnGuard(pObj, dwTimeOut);\
  8. if ( pObj == NULL)\
  9. return FALSE\
  10. enum UserLogInStatus
  11. {
  12. USER_LOGIN = 1, // 登录成功;
  13. USER_PW_MISTAKE = 2, // 密码错误;
  14. USER_NULL = 0 // 没有用户;
  15. };
  16. CWxAdoImpl* CWxAdoImpl::m_pInstance = NULL;
  17. CWxAdoImpl::CWxAdoImpl(void):m_nRef(0),m_nObjRef(0)
  18. {
  19. }
  20. CWxAdoImpl::~CWxAdoImpl(void)
  21. {
  22. }
  23. ULONG CWxAdoImpl::AddRef()
  24. {
  25. InterlockedIncrement( &m_nRef ); //增加引用计数;
  26. return m_nRef;
  27. }
  28. ULONG CWxAdoImpl::Release()
  29. {
  30. InterlockedDecrement( &m_nRef ); //减少引用计数;
  31. //如果为0,删除对象
  32. if( m_nRef == 0 )
  33. {
  34. delete this;
  35. }
  36. return m_nRef;
  37. }
  38. HRESULT CWxAdoImpl::QueryInterface(REFIID refiid, void **ppvObject)
  39. {
  40. if (IID_IUnknown == refiid)
  41. {
  42. *ppvObject = this;
  43. }
  44. else if (IID_IWxAdoInterface == refiid)
  45. {
  46. *ppvObject = (IWxAdoInterface*)this;
  47. }
  48. else
  49. {
  50. *ppvObject = NULL;
  51. return E_NOINTERFACE;
  52. }
  53. ((IUnknown*)(*ppvObject))->AddRef();
  54. return NOERROR;
  55. }
  56. /************************************************************************/
  57. /* 函数:[9/25/2016 IT];
  58. /* 描述:;
  59. /* 参数:;
  60. /* [IN] :;
  61. /* [OUT] :;
  62. /* [IN/OUT] :;
  63. /* 返回:void;
  64. /* 注意:;
  65. /* 示例:;
  66. /*
  67. /* 修改:;
  68. /* 日期:;
  69. /* 内容:;
  70. /************************************************************************/
  71. void CWxAdoImpl::SolveDBError( IN CONST DWORD &dwError, IN LPVOID pDBConn)
  72. {
  73. switch(dwError)
  74. {
  75. //case SQL_ERROR://这个错误比较难精确判断问题;
  76. case ERROR_PIPE_NOT_CONNECTED:
  77. case WSAECONNRESET:
  78. case WSAECONNABORTED:
  79. {
  80. pAdoObj pObj = (pAdoObj)pDBConn;
  81. CWxAdoPool::GetInstance()->CloseBusyConnection(pObj);
  82. #if _DEBUG
  83. OutputDebugString(_T("关闭数据库连接\n"));
  84. #endif
  85. }
  86. break;
  87. default:
  88. break;
  89. }
  90. }
  91. /************************************************************************/
  92. /* 函数:[9/25/2016 IT];
  93. /* 描述:;
  94. /* 参数:;
  95. /* [IN] :;
  96. /* [OUT] :;
  97. /* [IN/OUT] :;
  98. /* 返回:void;
  99. /* 注意:;
  100. /* 示例:;
  101. /*
  102. /* 修改:;
  103. /* 日期:;
  104. /* 内容:;
  105. /************************************************************************/
  106. DWORD CWxAdoImpl::InitializePool( IN LPCTSTR lpDBSource, IN CONST DWORD &dwDBPort, IN LPCTSTR lpDBAccount, IN LPCTSTR lpPassWord, IN LPCTSTR lpDBName, IN CONST INT &nMinConn /* = 1 */, IN CONST INT &nMaxConn /* = 5 */ )
  107. {
  108. return CWxAdoPool::GetInstance()->InitializePool(lpDBSource, dwDBPort, lpDBAccount, lpPassWord, lpDBName, nMinConn, nMaxConn);
  109. }
  110. /************************************************************************/
  111. /* 函数:[9/25/2016 IT];
  112. /* 描述:;
  113. /* 参数:;
  114. /* [IN] :;
  115. /* [OUT] :;
  116. /* [IN/OUT] :;
  117. /* 返回:void;
  118. /* 注意:;
  119. /* 示例:;
  120. /*
  121. /* 修改:;
  122. /* 日期:;
  123. /* 内容:;
  124. /************************************************************************/
  125. void CWxAdoImpl::ReleasePool()
  126. {
  127. CWxAdoPool *pObj = CWxAdoPool::GetInstance();
  128. if ( pObj )
  129. {
  130. pObj->ReleasePool();
  131. delete pObj;
  132. pObj = NULL;
  133. }
  134. }
  135. /************************************************************************/
  136. /* 函数:[9/25/2016 IT];
  137. /* 描述:;
  138. /* 参数:;
  139. /* [IN] :;
  140. /* [OUT] :;
  141. /* [IN/OUT] :;
  142. /* 返回:void;
  143. /* 注意:;
  144. /* 示例:;
  145. /*
  146. /* 修改:;
  147. /* 日期:;
  148. /* 内容:;
  149. /************************************************************************/
  150. BOOL CWxAdoImpl::ExecuteSQL( IN LPCTSTR lpExcuteSQL, IN CONST DWORD &dwTimeOut /* = 30000 */ )
  151. {
  152. GETDBPTR(dwTimeOut);
  153. try
  154. {
  155. if ( lpExcuteSQL == NULL )
  156. return FALSE;
  157. pObj->pCommand->CommandText = _bstr_t(lpExcuteSQL);
  158. // 执行SQL语句,返回记录集
  159. pObj->pCommand->Execute(NULL, NULL, adCmdText);
  160. }
  161. catch (CDBException* e)
  162. {
  163. //Global::WriteTextLog(_T("%s,%d,%s:%s"), __FILE__, __LINE__, __FUNCTION__, e->m_strError);
  164. Global::WriteTextLog(_T("%s\n%s"), lpExcuteSQL, e->m_strError);
  165. SolveDBError(e->m_nRetCode, pObj);
  166. e->Delete();
  167. return FALSE;
  168. }
  169. return TRUE;
  170. }
  171. /************************************************************************/
  172. /* 函数:[9/25/2016 IT];
  173. /* 描述:;
  174. /* 参数:;
  175. /* [IN] :;
  176. /* [OUT] :;
  177. /* [IN/OUT] :;
  178. /* 返回:void;
  179. /* 注意:;
  180. /* 示例:;
  181. /*
  182. /* 修改:;
  183. /* 日期:;
  184. /* 内容:;
  185. /************************************************************************/
  186. BOOL CWxAdoImpl::IsUserExist( IN LPCTSTR lpStudioID, IN LPCTSTR lpAccount, IN LPCTSTR lpPassword, OUT LPVOID lpOutUserInfo,IN CONST DWORD &dwTimeOut /* = 3000 */ )
  187. {
  188. return TRUE;
  189. }
  190. INT CWxAdoImpl::QueryUserDetail(IN LPCTSTR lpStudioID, IN LPVOID lpUserDetail, IN CONST DWORD & dwTimeOut)
  191. {
  192. return 0;
  193. }
  194. /************************************************************************/
  195. /* 函数:[9/25/2016 IT];
  196. /* 描述:;
  197. /* 参数:;
  198. /* [IN] :;
  199. /* [OUT] :;
  200. /* [IN/OUT] :;
  201. /* 返回:void;
  202. /* 注意:;
  203. /* 示例:;
  204. /*
  205. /* 修改:;
  206. /* 日期:;
  207. /* 内容:;
  208. /************************************************************************/
  209. INT CWxAdoImpl::QueryUserDetail( IN LPCTSTR lpStudioID, IN LPCTSTR lpAccount, IN LPCTSTR lpPassword, OUT LPVOID lpOutUserInfo,IN CONST DWORD &dwTimeOut /* = 3000 */ )
  210. {
  211. return USER_NULL;
  212. }
  213. /************************************************************************/
  214. /* 函数:[9/25/2016 IT];
  215. /* 描述:;
  216. /* 参数:;
  217. /* [IN] :;
  218. /* [OUT] :;
  219. /* [IN/OUT] :;
  220. /* 返回:void;
  221. /* 注意:;
  222. /* 示例:;
  223. /*
  224. /* 修改:;
  225. /* 日期:;
  226. /* 内容:;
  227. /************************************************************************/
  228. INT CWxAdoImpl::QueryDepartmentInfo( IN LPCTSTR lpStudioID, OUT LPVOID lpOutDepartmentInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  229. {
  230. return 0;
  231. }
  232. /************************************************************************/
  233. /* 函数:[9/25/2016 IT];
  234. /* 描述:;
  235. /* 参数:;
  236. /* [IN] :;
  237. /* [OUT] :;
  238. /* [IN/OUT] :;
  239. /* 返回:void;
  240. /* 注意:;
  241. /* 示例:;
  242. /*
  243. /* 修改:;
  244. /* 日期:;
  245. /* 内容:;
  246. /************************************************************************/
  247. INT CWxAdoImpl::QueryStaffInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutStaffInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  248. {
  249. return 0;
  250. }
  251. /************************************************************************/
  252. /* 函数:[9/28/2016 IT];
  253. /* 描述:;
  254. /* 参数:;
  255. /* [IN] :;
  256. /* [OUT] :;
  257. /* [IN/OUT] :;
  258. /* 返回:void;
  259. /* 注意:;
  260. /* 示例:;
  261. /*
  262. /* 修改:;
  263. /* 日期:;
  264. /* 内容:;
  265. /************************************************************************/
  266. INT CWxAdoImpl::QueryUserInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutUserInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  267. {
  268. return 0;
  269. }
  270. /************************************************************************/
  271. /* 函数:[9/30/2016 IT];
  272. /* 描述:;
  273. /* 参数:;
  274. /* [IN] :;
  275. /* [OUT] :;
  276. /* [IN/OUT] :;
  277. /* 返回:void;
  278. /* 注意:;
  279. /* 示例:;
  280. /*
  281. /* 修改:;
  282. /* 日期:;
  283. /* 内容:;
  284. /************************************************************************/
  285. INT CWxAdoImpl::QueryProductType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutProductType, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  286. {
  287. return 0;
  288. }
  289. /************************************************************************/
  290. /* 函数:[9/30/2016 IT];
  291. /* 描述:;
  292. /* 参数:;
  293. /* [IN] :;
  294. /* [OUT] :;
  295. /* [IN/OUT] :;
  296. /* 返回:void;
  297. /* 注意:;
  298. /* 示例:;
  299. /*
  300. /* 修改:;
  301. /* 日期:;
  302. /* 内容:;
  303. /************************************************************************/
  304. INT CWxAdoImpl::QueryProductInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutProductInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  305. {
  306. return 0;
  307. }
  308. /************************************************************************/
  309. /* 函数:[9/30/2016 IT];
  310. /* 描述:;
  311. /* 参数:;
  312. /* [IN] :;
  313. /* [OUT] :;
  314. /* [IN/OUT] :;
  315. /* 返回:void;
  316. /* 注意:;
  317. /* 示例:;
  318. /*
  319. /* 修改:;
  320. /* 日期:;
  321. /* 内容:;
  322. /************************************************************************/
  323. INT CWxAdoImpl::QuerySceneryInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutSceneryInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  324. {
  325. return 0;
  326. }
  327. /************************************************************************/
  328. /* 函数:[9/30/2016 IT];
  329. /* 描述:;
  330. /* 参数:;
  331. /* [IN] :;
  332. /* [OUT] :;
  333. /* [IN/OUT] :;
  334. /* 返回:void;
  335. /* 注意:;
  336. /* 示例:;
  337. /*
  338. /* 修改:;
  339. /* 日期:;
  340. /* 内容:;
  341. /************************************************************************/
  342. INT CWxAdoImpl::QueryPackageType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageType, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  343. {
  344. return 0;
  345. }
  346. /************************************************************************/
  347. /* 函数:[9/30/2016 IT];
  348. /* 描述:;
  349. /* 参数:;
  350. /* [IN] :;
  351. /* [OUT] :;
  352. /* [IN/OUT] :;
  353. /* 返回:void;
  354. /* 注意:;
  355. /* 示例:;
  356. /*
  357. /* 修改:;
  358. /* 日期:;
  359. /* 内容:;
  360. /************************************************************************/
  361. INT CWxAdoImpl::QueryPackageInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  362. {
  363. return 0;
  364. }
  365. /************************************************************************/
  366. /* 函数:[9/30/2016 IT];
  367. /* 描述:;
  368. /* 参数:;
  369. /* [IN] :;
  370. /* [OUT] :;
  371. /* [IN/OUT] :;
  372. /* 返回:void;
  373. /* 注意:;
  374. /* 示例:;
  375. /*
  376. /* 修改:;
  377. /* 日期:;
  378. /* 内容:;
  379. /************************************************************************/
  380. INT CWxAdoImpl::QueryPackageItems(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageItems, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  381. {
  382. return 0;
  383. }
  384. /************************************************************************/
  385. /* 函数:[10/5/2016 IT];
  386. /* 描述:;
  387. /* 参数:;
  388. /* [IN] :;
  389. /* [OUT] :;
  390. /* [IN/OUT] :;
  391. /* 返回:void;
  392. /* 注意:;
  393. /* 示例:;
  394. /*
  395. /* 修改:;
  396. /* 日期:;
  397. /* 内容:;
  398. /************************************************************************/
  399. INT CWxAdoImpl::QueryPackageItemsView(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageItems, IN CONST DWORD & dwTimeOut)
  400. {
  401. return 0;
  402. }
  403. /************************************************************************/
  404. /* 函数:[10/5/2016 IT];
  405. /* 描述:;
  406. /* 参数:;
  407. /* [IN] :;
  408. /* [OUT] :;
  409. /* [IN/OUT] :;
  410. /* 返回:void;
  411. /* 注意:;
  412. /* 示例:;
  413. /*
  414. /* 修改:;
  415. /* 日期:;
  416. /* 内容:;
  417. /************************************************************************/
  418. INT CWxAdoImpl::QueryPackageItemsDetail(IN LPCTSTR lpStudioID, IN LPCTSTR lpPackageSN, OUT LPVOID lpOutPackageItems, IN CONST DWORD & dwTimeOut)
  419. {
  420. return 0;
  421. }
  422. /************************************************************************/
  423. /* 函数:[10/5/2016 IT];
  424. /* 描述:;
  425. /* 参数:;
  426. /* [IN] :;
  427. /* [OUT] :;
  428. /* [IN/OUT] :;
  429. /* 返回:void;
  430. /* 注意:;
  431. /* 示例:;
  432. /*
  433. /* 修改:;
  434. /* 日期:;
  435. /* 内容:;
  436. /************************************************************************/
  437. INT CWxAdoImpl::QueryCustomerType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutCustomerFrom, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  438. {
  439. return 0;
  440. }
  441. /************************************************************************/
  442. /* 函数:[10/5/2016 IT];
  443. /* 描述:;
  444. /* 参数:;
  445. /* [IN] :;
  446. /* [OUT] :;
  447. /* [IN/OUT] :;
  448. /* 返回:void;
  449. /* 注意:;
  450. /* 示例:;
  451. /*
  452. /* 修改:;
  453. /* 日期:;
  454. /* 内容:;
  455. /************************************************************************/
  456. INT CWxAdoImpl::QueryCustomerInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutCustomerInfo, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */)
  457. {
  458. return 0;
  459. }
  460. /************************************************************************/
  461. /* 函数:[10/5/2016 IT];
  462. /* 描述:;
  463. /* 参数:;
  464. /* [IN] :;
  465. /* [OUT] :;
  466. /* [IN/OUT] :;
  467. /* 返回:void;
  468. /* 注意:;
  469. /* 示例:;
  470. /*
  471. /* 修改:;
  472. /* 日期:;
  473. /* 内容:;
  474. /************************************************************************/
  475. INT CWxAdoImpl::QueryOrderType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderType, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  476. {
  477. return 0;
  478. }
  479. /************************************************************************/
  480. /* 函数:[10/16/2016 IT];
  481. /* 描述:;
  482. /* 参数:;
  483. /* [IN] :;
  484. /* [OUT] :;
  485. /* [IN/OUT] :;
  486. /* 返回:void;
  487. /* 注意:;
  488. /* 示例:;
  489. /*
  490. /* 修改:;
  491. /* 日期:;
  492. /* 内容:;
  493. /************************************************************************/
  494. INT CWxAdoImpl::QueryOrderInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderInfo, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  495. {
  496. return 0;
  497. }
  498. /************************************************************************/
  499. /* 函数:[10/16/2016 IT];
  500. /* 描述:;
  501. /* 参数:;
  502. /* [IN] :;
  503. /* [OUT] :;
  504. /* [IN/OUT] :;
  505. /* 返回:void;
  506. /* 注意:;
  507. /* 示例:;
  508. /*
  509. /* 修改:;
  510. /* 日期:;
  511. /* 内容:;
  512. /************************************************************************/
  513. INT CWxAdoImpl::QueryOrderScenery(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderScenery, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */)
  514. {
  515. return 0;
  516. }
  517. /************************************************************************/
  518. /* 函数:[10/16/2016 IT];
  519. /* 描述:;
  520. /* 参数:;
  521. /* [IN] :;
  522. /* [OUT] :;
  523. /* [IN/OUT] :;
  524. /* 返回:void;
  525. /* 注意:;
  526. /* 示例:;
  527. /*
  528. /* 修改:;
  529. /* 日期:;
  530. /* 内容:;
  531. /************************************************************************/
  532. INT CWxAdoImpl::QueryOrderPackageItems(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderPackageItems, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */)
  533. {
  534. return 0;
  535. }
  536. /************************************************************************/
  537. /* 函数:[10/16/2016 IT];
  538. /* 描述:;
  539. /* 参数:;
  540. /* [IN] :;
  541. /* [OUT] :;
  542. /* [IN/OUT] :;
  543. /* 返回:void;
  544. /* 注意:;
  545. /* 示例:;
  546. /*
  547. /* 修改:;
  548. /* 日期:;
  549. /* 内容:;
  550. /************************************************************************/
  551. INT CWxAdoImpl::QuerySysConfig(IN LPCTSTR lpStudioID, OUT LPVOID lpOutSysConfig, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  552. {
  553. return 0;
  554. }
  555. /************************************************************************/
  556. /* 函数:[10/16/2016 IT];
  557. /* 描述:;
  558. /* 参数:;
  559. /* [IN] :;
  560. /* [OUT] :;
  561. /* [IN/OUT] :;
  562. /* 返回:void;
  563. /* 注意:;
  564. /* 示例:;
  565. /*
  566. /* 修改:;
  567. /* 日期:;
  568. /* 内容:;
  569. /************************************************************************/
  570. INT CWxAdoImpl::QueryLog(IN LPCTSTR lpStudioID, OUT LPVOID lpOutLog, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  571. {
  572. return 0;
  573. }
  574. /************************************************************************/
  575. /* 函数:[10/27/2016 IT];
  576. /* 描述:;
  577. /* 参数:;
  578. /* [IN] :;
  579. /* [OUT] :;
  580. /* [IN/OUT] :;
  581. /* 返回:void;
  582. /* 注意:;
  583. /* 示例:;
  584. /*
  585. /* 修改:;
  586. /* 日期:;
  587. /* 内容:;
  588. /************************************************************************/
  589. INT CWxAdoImpl::QueryStudioInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutStudioInfo, IN CONST DWORD & dwTimeOut)
  590. {
  591. return 0;
  592. }
  593. /************************************************************************/
  594. /* 函数:[10/27/2016 IT];
  595. /* 描述:;
  596. /* 参数:;
  597. /* [IN] :;
  598. /* [OUT] :;
  599. /* [IN/OUT] :;
  600. /* 返回:void;
  601. /* 注意:;
  602. /* 示例:;
  603. /*
  604. /* 修改:;
  605. /* 日期:;
  606. /* 内容:;
  607. /************************************************************************/
  608. INT CWxAdoImpl::SupQueryStudioInfo(OUT LPVOID lpOutStudioInfo, IN CONST DWORD & dwTimeOut)
  609. {
  610. return 0;
  611. }
  612. /************************************************************************/
  613. /* 函数:[2/26/2017 Jeff];
  614. /* 描述:;
  615. /* 参数:;
  616. /* [IN] :;
  617. /* [OUT] :;
  618. /* [IN/OUT] :;
  619. /* 返回:void;
  620. /* 注意:;
  621. /* 示例:;
  622. /*
  623. /* 修改:;
  624. /* 日期:;
  625. /* 内容:;
  626. /************************************************************************/
  627. INT CWxAdoImpl::QueryMaxOrderId(IN LPCTSTR lpStudioID, IN CONST DWORD& dwTimeOut /* = 3000 */)
  628. {
  629. return 0;
  630. }
  631. /************************************************************************/
  632. /* 函数:[2/26/2017 Jeff];
  633. /* 描述:;
  634. /* 参数:;
  635. /* [IN] :;
  636. /* [OUT] :;
  637. /* [IN/OUT] :;
  638. /* 返回:void;
  639. /* 注意:;
  640. /* 示例:;
  641. /*
  642. /* 修改:;
  643. /* 日期:;
  644. /* 内容:;
  645. /************************************************************************/
  646. INT CWxAdoImpl::QueryMaxPrintId(IN LPCTSTR lpStudioID, IN CONST DWORD& dwTimeOut /* = 3000 */)
  647. {
  648. return 0;
  649. }
  650. /************************************************************************/
  651. /* 函数:[10/27/2016 IT];
  652. /* 描述:;
  653. /* 参数:;
  654. /* [IN] :;
  655. /* [OUT] :;
  656. /* [IN/OUT] :;
  657. /* 返回:void;
  658. /* 注意:;
  659. /* 示例:;
  660. /*
  661. /* 修改:;
  662. /* 日期:;
  663. /* 内容:;
  664. /************************************************************************/
  665. BOOL CWxAdoImpl::InsertStudioInfo(IN LPVOID lpStudioInfo, IN CONST DWORD & dwTimeOut)
  666. {
  667. return FALSE;
  668. }
  669. BOOL CWxAdoImpl::UpdateStudioInfo(IN LPVOID lpStudioInfo, IN CONST DWORD & dwTimeOut)
  670. {
  671. return FALSE;
  672. }
  673. /*
  674. GETDBPTR(dwTimeOut);
  675. try
  676. {
  677. }
  678. catch (CDBException* e)
  679. {
  680. e->ReportError();
  681. SolveDBError(e->m_nRetCode, pDatabase);
  682. e->Delete();
  683. return FALSE;
  684. }
  685. return TRUE;
  686. */