WxAdoImpl.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774
  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::GetInstance()->ReleasePool();
  128. }
  129. /************************************************************************/
  130. /* 函数:[9/25/2016 IT];
  131. /* 描述:;
  132. /* 参数:;
  133. /* [IN] :;
  134. /* [OUT] :;
  135. /* [IN/OUT] :;
  136. /* 返回:void;
  137. /* 注意:;
  138. /* 示例:;
  139. /*
  140. /* 修改:;
  141. /* 日期:;
  142. /* 内容:;
  143. /************************************************************************/
  144. BOOL CWxAdoImpl::ExecuteSQL( IN LPCTSTR lpExcuteSQL, IN CONST DWORD &dwTimeOut /* = 30000 */ )
  145. {
  146. GETDBPTR(dwTimeOut);
  147. try
  148. {
  149. if ( lpExcuteSQL == NULL )
  150. return FALSE;
  151. pObj->pCommand->CommandText = _bstr_t(lpExcuteSQL);
  152. // 执行SQL语句,返回记录集
  153. pObj->pCommand->Execute(NULL, NULL, adCmdText);
  154. }
  155. catch (CDBException* e)
  156. {
  157. //Global::WriteTextLog(_T("%s,%d,%s:%s"), __FILE__, __LINE__, __FUNCTION__, e->m_strError);
  158. Global::WriteTextLog(_T("%s\n%s"), lpExcuteSQL, e->m_strError);
  159. SolveDBError(e->m_nRetCode, pObj);
  160. e->Delete();
  161. return FALSE;
  162. }
  163. return TRUE;
  164. }
  165. /************************************************************************/
  166. /* 函数:[9/25/2016 IT];
  167. /* 描述:;
  168. /* 参数:;
  169. /* [IN] :;
  170. /* [OUT] :;
  171. /* [IN/OUT] :;
  172. /* 返回:void;
  173. /* 注意:;
  174. /* 示例:;
  175. /*
  176. /* 修改:;
  177. /* 日期:;
  178. /* 内容:;
  179. /************************************************************************/
  180. BOOL CWxAdoImpl::IsUserExist( IN LPCTSTR lpStudioID, IN LPCTSTR lpAccount, IN LPCTSTR lpPassword, OUT LPVOID lpOutUserInfo,IN CONST DWORD &dwTimeOut /* = 3000 */ )
  181. {
  182. return TRUE;
  183. }
  184. INT CWxAdoImpl::QueryUserDetail(IN LPCTSTR lpStudioID, IN LPVOID lpUserDetail, IN CONST DWORD & dwTimeOut)
  185. {
  186. return 0;
  187. }
  188. /************************************************************************/
  189. /* 函数:[9/25/2016 IT];
  190. /* 描述:;
  191. /* 参数:;
  192. /* [IN] :;
  193. /* [OUT] :;
  194. /* [IN/OUT] :;
  195. /* 返回:void;
  196. /* 注意:;
  197. /* 示例:;
  198. /*
  199. /* 修改:;
  200. /* 日期:;
  201. /* 内容:;
  202. /************************************************************************/
  203. INT CWxAdoImpl::QueryUserDetail( IN LPCTSTR lpStudioID, IN LPCTSTR lpAccount, IN LPCTSTR lpPassword, OUT LPVOID lpOutUserInfo,IN CONST DWORD &dwTimeOut /* = 3000 */ )
  204. {
  205. return USER_NULL;
  206. }
  207. /************************************************************************/
  208. /* 函数:[9/25/2016 IT];
  209. /* 描述:;
  210. /* 参数:;
  211. /* [IN] :;
  212. /* [OUT] :;
  213. /* [IN/OUT] :;
  214. /* 返回:void;
  215. /* 注意:;
  216. /* 示例:;
  217. /*
  218. /* 修改:;
  219. /* 日期:;
  220. /* 内容:;
  221. /************************************************************************/
  222. INT CWxAdoImpl::QueryDepartmentInfo( IN LPCTSTR lpStudioID, OUT LPVOID lpOutDepartmentInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  223. {
  224. return 0;
  225. }
  226. /************************************************************************/
  227. /* 函数:[9/25/2016 IT];
  228. /* 描述:;
  229. /* 参数:;
  230. /* [IN] :;
  231. /* [OUT] :;
  232. /* [IN/OUT] :;
  233. /* 返回:void;
  234. /* 注意:;
  235. /* 示例:;
  236. /*
  237. /* 修改:;
  238. /* 日期:;
  239. /* 内容:;
  240. /************************************************************************/
  241. INT CWxAdoImpl::QueryStaffInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutStaffInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  242. {
  243. return 0;
  244. }
  245. /************************************************************************/
  246. /* 函数:[9/28/2016 IT];
  247. /* 描述:;
  248. /* 参数:;
  249. /* [IN] :;
  250. /* [OUT] :;
  251. /* [IN/OUT] :;
  252. /* 返回:void;
  253. /* 注意:;
  254. /* 示例:;
  255. /*
  256. /* 修改:;
  257. /* 日期:;
  258. /* 内容:;
  259. /************************************************************************/
  260. INT CWxAdoImpl::QueryUserInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutUserInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  261. {
  262. return 0;
  263. }
  264. /************************************************************************/
  265. /* 函数:[9/30/2016 IT];
  266. /* 描述:;
  267. /* 参数:;
  268. /* [IN] :;
  269. /* [OUT] :;
  270. /* [IN/OUT] :;
  271. /* 返回:void;
  272. /* 注意:;
  273. /* 示例:;
  274. /*
  275. /* 修改:;
  276. /* 日期:;
  277. /* 内容:;
  278. /************************************************************************/
  279. INT CWxAdoImpl::QueryProductType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutProductType, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  280. {
  281. return 0;
  282. }
  283. /************************************************************************/
  284. /* 函数:[9/30/2016 IT];
  285. /* 描述:;
  286. /* 参数:;
  287. /* [IN] :;
  288. /* [OUT] :;
  289. /* [IN/OUT] :;
  290. /* 返回:void;
  291. /* 注意:;
  292. /* 示例:;
  293. /*
  294. /* 修改:;
  295. /* 日期:;
  296. /* 内容:;
  297. /************************************************************************/
  298. INT CWxAdoImpl::QueryProductInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutProductInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  299. {
  300. return 0;
  301. }
  302. /************************************************************************/
  303. /* 函数:[9/30/2016 IT];
  304. /* 描述:;
  305. /* 参数:;
  306. /* [IN] :;
  307. /* [OUT] :;
  308. /* [IN/OUT] :;
  309. /* 返回:void;
  310. /* 注意:;
  311. /* 示例:;
  312. /*
  313. /* 修改:;
  314. /* 日期:;
  315. /* 内容:;
  316. /************************************************************************/
  317. INT CWxAdoImpl::QuerySceneryInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutSceneryInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  318. {
  319. return 0;
  320. }
  321. /************************************************************************/
  322. /* 函数:[9/30/2016 IT];
  323. /* 描述:;
  324. /* 参数:;
  325. /* [IN] :;
  326. /* [OUT] :;
  327. /* [IN/OUT] :;
  328. /* 返回:void;
  329. /* 注意:;
  330. /* 示例:;
  331. /*
  332. /* 修改:;
  333. /* 日期:;
  334. /* 内容:;
  335. /************************************************************************/
  336. INT CWxAdoImpl::QueryPackageType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageType, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  337. {
  338. return 0;
  339. }
  340. /************************************************************************/
  341. /* 函数:[9/30/2016 IT];
  342. /* 描述:;
  343. /* 参数:;
  344. /* [IN] :;
  345. /* [OUT] :;
  346. /* [IN/OUT] :;
  347. /* 返回:void;
  348. /* 注意:;
  349. /* 示例:;
  350. /*
  351. /* 修改:;
  352. /* 日期:;
  353. /* 内容:;
  354. /************************************************************************/
  355. INT CWxAdoImpl::QueryPackageInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageInfo, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  356. {
  357. return 0;
  358. }
  359. /************************************************************************/
  360. /* 函数:[9/30/2016 IT];
  361. /* 描述:;
  362. /* 参数:;
  363. /* [IN] :;
  364. /* [OUT] :;
  365. /* [IN/OUT] :;
  366. /* 返回:void;
  367. /* 注意:;
  368. /* 示例:;
  369. /*
  370. /* 修改:;
  371. /* 日期:;
  372. /* 内容:;
  373. /************************************************************************/
  374. INT CWxAdoImpl::QueryPackageItems(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageItems, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  375. {
  376. return 0;
  377. }
  378. /************************************************************************/
  379. /* 函数:[10/5/2016 IT];
  380. /* 描述:;
  381. /* 参数:;
  382. /* [IN] :;
  383. /* [OUT] :;
  384. /* [IN/OUT] :;
  385. /* 返回:void;
  386. /* 注意:;
  387. /* 示例:;
  388. /*
  389. /* 修改:;
  390. /* 日期:;
  391. /* 内容:;
  392. /************************************************************************/
  393. INT CWxAdoImpl::QueryPackageItemsView(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageItems, IN CONST DWORD & dwTimeOut)
  394. {
  395. return 0;
  396. }
  397. /************************************************************************/
  398. /* 函数:[10/5/2016 IT];
  399. /* 描述:;
  400. /* 参数:;
  401. /* [IN] :;
  402. /* [OUT] :;
  403. /* [IN/OUT] :;
  404. /* 返回:void;
  405. /* 注意:;
  406. /* 示例:;
  407. /*
  408. /* 修改:;
  409. /* 日期:;
  410. /* 内容:;
  411. /************************************************************************/
  412. INT CWxAdoImpl::QueryPackageItemsDetail(IN LPCTSTR lpStudioID, IN LPCTSTR lpPackageSN, OUT LPVOID lpOutPackageItems, IN CONST DWORD & dwTimeOut)
  413. {
  414. return 0;
  415. }
  416. /************************************************************************/
  417. /* 函数:[10/5/2016 IT];
  418. /* 描述:;
  419. /* 参数:;
  420. /* [IN] :;
  421. /* [OUT] :;
  422. /* [IN/OUT] :;
  423. /* 返回:void;
  424. /* 注意:;
  425. /* 示例:;
  426. /*
  427. /* 修改:;
  428. /* 日期:;
  429. /* 内容:;
  430. /************************************************************************/
  431. INT CWxAdoImpl::QueryCustomerType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutCustomerFrom, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  432. {
  433. return 0;
  434. }
  435. /************************************************************************/
  436. /* 函数:[10/5/2016 IT];
  437. /* 描述:;
  438. /* 参数:;
  439. /* [IN] :;
  440. /* [OUT] :;
  441. /* [IN/OUT] :;
  442. /* 返回:void;
  443. /* 注意:;
  444. /* 示例:;
  445. /*
  446. /* 修改:;
  447. /* 日期:;
  448. /* 内容:;
  449. /************************************************************************/
  450. INT CWxAdoImpl::QueryCustomerInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutCustomerInfo, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */)
  451. {
  452. return 0;
  453. }
  454. /************************************************************************/
  455. /* 函数:[10/5/2016 IT];
  456. /* 描述:;
  457. /* 参数:;
  458. /* [IN] :;
  459. /* [OUT] :;
  460. /* [IN/OUT] :;
  461. /* 返回:void;
  462. /* 注意:;
  463. /* 示例:;
  464. /*
  465. /* 修改:;
  466. /* 日期:;
  467. /* 内容:;
  468. /************************************************************************/
  469. INT CWxAdoImpl::QueryOrderType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderType, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  470. {
  471. return 0;
  472. }
  473. /************************************************************************/
  474. /* 函数:[10/16/2016 IT];
  475. /* 描述:;
  476. /* 参数:;
  477. /* [IN] :;
  478. /* [OUT] :;
  479. /* [IN/OUT] :;
  480. /* 返回:void;
  481. /* 注意:;
  482. /* 示例:;
  483. /*
  484. /* 修改:;
  485. /* 日期:;
  486. /* 内容:;
  487. /************************************************************************/
  488. INT CWxAdoImpl::QueryOrderInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderInfo, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  489. {
  490. return 0;
  491. }
  492. /************************************************************************/
  493. /* 函数:[10/16/2016 IT];
  494. /* 描述:;
  495. /* 参数:;
  496. /* [IN] :;
  497. /* [OUT] :;
  498. /* [IN/OUT] :;
  499. /* 返回:void;
  500. /* 注意:;
  501. /* 示例:;
  502. /*
  503. /* 修改:;
  504. /* 日期:;
  505. /* 内容:;
  506. /************************************************************************/
  507. INT CWxAdoImpl::QueryOrderScenery(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderScenery, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */)
  508. {
  509. return 0;
  510. }
  511. /************************************************************************/
  512. /* 函数:[10/16/2016 IT];
  513. /* 描述:;
  514. /* 参数:;
  515. /* [IN] :;
  516. /* [OUT] :;
  517. /* [IN/OUT] :;
  518. /* 返回:void;
  519. /* 注意:;
  520. /* 示例:;
  521. /*
  522. /* 修改:;
  523. /* 日期:;
  524. /* 内容:;
  525. /************************************************************************/
  526. INT CWxAdoImpl::QueryOrderPackageItems(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderPackageItems, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut /* = 3000 */)
  527. {
  528. return 0;
  529. }
  530. /************************************************************************/
  531. /* 函数:[10/16/2016 IT];
  532. /* 描述:;
  533. /* 参数:;
  534. /* [IN] :;
  535. /* [OUT] :;
  536. /* [IN/OUT] :;
  537. /* 返回:void;
  538. /* 注意:;
  539. /* 示例:;
  540. /*
  541. /* 修改:;
  542. /* 日期:;
  543. /* 内容:;
  544. /************************************************************************/
  545. INT CWxAdoImpl::QuerySysConfig(IN LPCTSTR lpStudioID, OUT LPVOID lpOutSysConfig, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  546. {
  547. return 0;
  548. }
  549. /************************************************************************/
  550. /* 函数:[10/16/2016 IT];
  551. /* 描述:;
  552. /* 参数:;
  553. /* [IN] :;
  554. /* [OUT] :;
  555. /* [IN/OUT] :;
  556. /* 返回:void;
  557. /* 注意:;
  558. /* 示例:;
  559. /*
  560. /* 修改:;
  561. /* 日期:;
  562. /* 内容:;
  563. /************************************************************************/
  564. INT CWxAdoImpl::QueryLog(IN LPCTSTR lpStudioID, OUT LPVOID lpOutLog, IN CONST DWORD& dwTimeOut /* = 3000 */ )
  565. {
  566. return 0;
  567. }
  568. /************************************************************************/
  569. /* 函数:[10/27/2016 IT];
  570. /* 描述:;
  571. /* 参数:;
  572. /* [IN] :;
  573. /* [OUT] :;
  574. /* [IN/OUT] :;
  575. /* 返回:void;
  576. /* 注意:;
  577. /* 示例:;
  578. /*
  579. /* 修改:;
  580. /* 日期:;
  581. /* 内容:;
  582. /************************************************************************/
  583. INT CWxAdoImpl::QueryStudioInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutStudioInfo, IN CONST DWORD & dwTimeOut)
  584. {
  585. return 0;
  586. }
  587. /************************************************************************/
  588. /* 函数:[10/27/2016 IT];
  589. /* 描述:;
  590. /* 参数:;
  591. /* [IN] :;
  592. /* [OUT] :;
  593. /* [IN/OUT] :;
  594. /* 返回:void;
  595. /* 注意:;
  596. /* 示例:;
  597. /*
  598. /* 修改:;
  599. /* 日期:;
  600. /* 内容:;
  601. /************************************************************************/
  602. INT CWxAdoImpl::SupQueryStudioInfo(OUT LPVOID lpOutStudioInfo, IN CONST DWORD & dwTimeOut)
  603. {
  604. return 0;
  605. }
  606. /************************************************************************/
  607. /* 函数:[2/26/2017 Jeff];
  608. /* 描述:;
  609. /* 参数:;
  610. /* [IN] :;
  611. /* [OUT] :;
  612. /* [IN/OUT] :;
  613. /* 返回:void;
  614. /* 注意:;
  615. /* 示例:;
  616. /*
  617. /* 修改:;
  618. /* 日期:;
  619. /* 内容:;
  620. /************************************************************************/
  621. INT CWxAdoImpl::QueryMaxOrderId(IN LPCTSTR lpStudioID, IN CONST DWORD& dwTimeOut /* = 3000 */)
  622. {
  623. return 0;
  624. }
  625. /************************************************************************/
  626. /* 函数:[2/26/2017 Jeff];
  627. /* 描述:;
  628. /* 参数:;
  629. /* [IN] :;
  630. /* [OUT] :;
  631. /* [IN/OUT] :;
  632. /* 返回:void;
  633. /* 注意:;
  634. /* 示例:;
  635. /*
  636. /* 修改:;
  637. /* 日期:;
  638. /* 内容:;
  639. /************************************************************************/
  640. INT CWxAdoImpl::QueryMaxPrintId(IN LPCTSTR lpStudioID, IN CONST DWORD& dwTimeOut /* = 3000 */)
  641. {
  642. return 0;
  643. }
  644. /************************************************************************/
  645. /* 函数:[10/27/2016 IT];
  646. /* 描述:;
  647. /* 参数:;
  648. /* [IN] :;
  649. /* [OUT] :;
  650. /* [IN/OUT] :;
  651. /* 返回:void;
  652. /* 注意:;
  653. /* 示例:;
  654. /*
  655. /* 修改:;
  656. /* 日期:;
  657. /* 内容:;
  658. /************************************************************************/
  659. BOOL CWxAdoImpl::InsertStudioInfo(IN LPVOID lpStudioInfo, IN CONST DWORD & dwTimeOut)
  660. {
  661. return FALSE;
  662. }
  663. BOOL CWxAdoImpl::UpdateStudioInfo(IN LPVOID lpStudioInfo, IN CONST DWORD & dwTimeOut)
  664. {
  665. return FALSE;
  666. }
  667. /*
  668. GETDBPTR(dwTimeOut);
  669. try
  670. {
  671. }
  672. catch (CDBException* e)
  673. {
  674. e->ReportError();
  675. SolveDBError(e->m_nRetCode, pDatabase);
  676. e->Delete();
  677. return FALSE;
  678. }
  679. return TRUE;
  680. */