Tblrenyuan.cpp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. ////////////////////////////////////////////////////////////////////////////////
  2. // CTblrenyuan 实现
  3. // 代码生成在 2014年9月24日, 17:08
  4. #include "stdafx.h"
  5. #include "Tblrenyuan.h"
  6. IMPLEMENT_DYNAMIC(CTblrenyuan, CRecordset)
  7. CTblrenyuan::CTblrenyuan(CDatabase* pdb): CRecordset(pdb)
  8. {
  9. m_id = _T("");
  10. m_rate1 = _T("");
  11. m_rate2 = _T("");
  12. m_bz2 = _T("");
  13. m_rate3 = _T("");
  14. m_rate4 = _T("");
  15. m_rate5 = _T("");
  16. m_level = _T("");
  17. m_staff_department = _T("");
  18. m_staff_name = _T("");
  19. m_staff_gender = _T("");
  20. m_staff_phone = _T("");
  21. m_staff_family_address = _T("");
  22. m_staff_base_pay = _T("");
  23. m_staff_citizen_id_number = _T("");
  24. m_staff_married = _T("");
  25. m_staff_dimission = _T("");
  26. m_staff_fingerprinted1 = _T("");
  27. m_staff_fingerprinted2 = _T("");
  28. m_staff_self_phone = _T("");
  29. m_staff_father = _T("");
  30. m_staff_mother = _T("");
  31. m_staff_father_phone = _T("");
  32. m_staff_mother_phone = _T("");
  33. m_staff_emergency_name = _T("");
  34. m_staff_emergency_phone = _T("");
  35. m_staff_emergency_relationship = _T("");
  36. m_staff_hire_date = _T("");
  37. m_staff_leave_date = _T("");
  38. m_staff_self_qq = _T("");
  39. m_staff_self_weixin = _T("");
  40. m_staff_self_email = _T("");
  41. m_staff_educational = _T("");
  42. m_staff_native_place = _T("");
  43. m_staff_birthday = _T("");
  44. m_staff_graduate_institutions = _T("");
  45. m_staff_note = _T("");
  46. m_staff_qq = _T("");
  47. m_staff_trial_work_date = _T("");
  48. m_staff_position = _T("");
  49. m_nFields = 40; // 注意:image类型未生成成员变量,此处值可能不对。
  50. m_nDefaultType = dynaset;
  51. m_strSort = _T("id");
  52. }
  53. //#error 安全问题:连接字符串可能包含密码。
  54. // 此连接字符串中可能包含明文密码和/或其他重要
  55. // 信息。请在查看完此连接字符串并找到所有与安全
  56. // 有关的问题后移除 #error。可能需要将此密码存
  57. // 储为其他格式或使用其他的用户身份验证。
  58. CString CTblrenyuan::GetDefaultConnect()
  59. {
  60. return _T("ODBC;DSN");
  61. }
  62. CString CTblrenyuan::GetDefaultSQL()
  63. {
  64. return _T("[dbo].[renyuan]");
  65. }
  66. void CTblrenyuan::DoFieldExchange(CFieldExchange* pFX)
  67. {
  68. pFX->SetFieldType(CFieldExchange::outputColumn);
  69. // RFX_Text() 和 RFX_Int() 这类宏依赖的是
  70. // 成员变量的类型,而不是数据库字段的类型。
  71. // ODBC 尝试自动将列值转换为所请求的类型
  72. RFX_Text(pFX, _T("id"), m_id);
  73. RFX_Text(pFX, _T("rate1"), m_rate1);
  74. RFX_Text(pFX, _T("rate2"), m_rate2);
  75. RFX_Text(pFX, _T("bz2"), m_bz2);
  76. RFX_Text(pFX, _T("rate3"), m_rate3);
  77. RFX_Text(pFX, _T("rate4"), m_rate4);
  78. RFX_Text(pFX, _T("rate5"), m_rate5);
  79. RFX_Text(pFX, _T("level"), m_level);
  80. RFX_Text(pFX, _T("staff_department"), m_staff_department);
  81. RFX_Text(pFX, _T("staff_name"), m_staff_name);
  82. RFX_Text(pFX, _T("staff_gender"), m_staff_gender);
  83. RFX_Text(pFX, _T("staff_phone"), m_staff_phone);
  84. RFX_Text(pFX, _T("staff_family_address"), m_staff_family_address);
  85. RFX_Text(pFX, _T("staff_base_pay"), m_staff_base_pay);
  86. RFX_Text(pFX, _T("staff_citizen_id_number"), m_staff_citizen_id_number);
  87. RFX_Text(pFX, _T("staff_married"), m_staff_married);
  88. RFX_Text(pFX, _T("staff_dimission"), m_staff_dimission);
  89. RFX_Text(pFX, _T("staff_fingerprinted1"), m_staff_fingerprinted1);
  90. RFX_Text(pFX, _T("staff_fingerprinted2"), m_staff_fingerprinted2);
  91. RFX_Text(pFX, _T("staff_self_phone"), m_staff_self_phone);
  92. RFX_Text(pFX, _T("staff_father"), m_staff_father);
  93. RFX_Text(pFX, _T("staff_mother"), m_staff_mother);
  94. RFX_Text(pFX, _T("staff_father_phone"), m_staff_father_phone);
  95. RFX_Text(pFX, _T("staff_mother_phone"), m_staff_mother_phone);
  96. RFX_Text(pFX, _T("staff_emergency_name"), m_staff_emergency_name);
  97. RFX_Text(pFX, _T("staff_emergency_phone"), m_staff_emergency_phone);
  98. RFX_Text(pFX, _T("staff_emergency_relationship"), m_staff_emergency_relationship);
  99. RFX_Text(pFX, _T("staff_hire_date"), m_staff_hire_date);
  100. RFX_Text(pFX, _T("staff_leave_date"), m_staff_leave_date);
  101. RFX_Text(pFX, _T("staff_self_qq"), m_staff_self_qq);
  102. RFX_Text(pFX, _T("staff_self_weixin"), m_staff_self_weixin);
  103. RFX_Text(pFX, _T("staff_self_email"), m_staff_self_email);
  104. RFX_Text(pFX, _T("staff_educational"), m_staff_educational);
  105. RFX_Text(pFX, _T("staff_native_place"), m_staff_native_place);
  106. RFX_Text(pFX, _T("staff_birthday"), m_staff_birthday);
  107. RFX_Text(pFX, _T("staff_graduate_institutions"), m_staff_graduate_institutions);
  108. RFX_Text(pFX, _T("staff_note"), m_staff_note);
  109. RFX_Text(pFX, _T("staff_qq"), m_staff_qq);
  110. RFX_Text(pFX, _T("staff_trial_work_date"), m_staff_trial_work_date);
  111. RFX_Text(pFX, _T("staff_position"), m_staff_position);
  112. }
  113. /////////////////////////////////////////////////////////////////////////////
  114. // CTblrenyuan 诊断
  115. #ifdef _DEBUG
  116. void CTblrenyuan::AssertValid() const
  117. {
  118. CRecordset::AssertValid();
  119. }
  120. void CTblrenyuan::Dump(CDumpContext& dc) const
  121. {
  122. CRecordset::Dump(dc);
  123. }
  124. #endif //_DEBUG
  125. INT CTblrenyuan::GetTbl_renyuanRecordSet(IN CDatabase *pDb, IN CString strFilters, OUT vector<Tblrenyuan>& vtResult)
  126. {
  127. if ( pDb == NULL )
  128. return -1;
  129. CRecordset myset(pDb);
  130. CString strSQL = _T("Select Count(*) as cot from renyuan");
  131. if (!strFilters.IsEmpty())
  132. strSQL.Format(_T("Select Count(*) as cot from renyuan where %s"), strFilters);
  133. myset.Open(CRecordset::forwardOnly, strSQL);
  134. myset.GetFieldValue(_T("cot"), strSQL);
  135. myset.Close();
  136. INT nCount = _ttol(strSQL);
  137. if ( nCount == 0 )
  138. return 0;
  139. try
  140. {
  141. CTblrenyuan rst(pDb);
  142. if (!strFilters.IsEmpty())
  143. rst.m_strFilter = strFilters;
  144. if ( rst.Open() )
  145. {
  146. while( !rst.IsEOF() )
  147. {
  148. Tblrenyuan tagVal;
  149. tagVal._id = rst.m_id;
  150. tagVal._rate1 = rst.m_rate1;
  151. tagVal._rate2 = rst.m_rate2;
  152. tagVal._bz2 = rst.m_bz2;
  153. tagVal._rate3 = rst.m_rate3;
  154. tagVal._rate4 = rst.m_rate4;
  155. tagVal._rate5 = rst.m_rate5;
  156. //tagVal._photo = rst.m_photo;
  157. tagVal._level = rst.m_level;
  158. tagVal._staff_department = rst.m_staff_department;
  159. tagVal._staff_name = rst.m_staff_name;
  160. tagVal._staff_gender = rst.m_staff_gender;
  161. tagVal._staff_phone = rst.m_staff_phone;
  162. tagVal._staff_family_address = rst.m_staff_family_address;
  163. tagVal._staff_base_pay = rst.m_staff_base_pay;
  164. tagVal._staff_citizen_id_number = rst.m_staff_citizen_id_number;
  165. tagVal._staff_married = rst.m_staff_married;
  166. tagVal._staff_dimission = rst.m_staff_dimission;
  167. tagVal._staff_fingerprinted1 = rst.m_staff_fingerprinted1;
  168. tagVal._staff_fingerprinted2 = rst.m_staff_fingerprinted2;
  169. tagVal._staff_self_phone = rst.m_staff_self_phone;
  170. tagVal._staff_father = rst.m_staff_father;
  171. tagVal._staff_mother = rst.m_staff_mother;
  172. tagVal._staff_father_phone = rst.m_staff_father_phone;
  173. tagVal._staff_mother_phone = rst.m_staff_mother_phone;
  174. tagVal._staff_emergency_name = rst.m_staff_emergency_name;
  175. tagVal._staff_emergency_phone = rst.m_staff_emergency_phone;
  176. tagVal._staff_emergency_relationship = rst.m_staff_emergency_relationship;
  177. tagVal._staff_hire_date = rst.m_staff_hire_date;
  178. tagVal._staff_leave_date = rst.m_staff_leave_date;
  179. tagVal._staff_self_qq = rst.m_staff_self_qq;
  180. tagVal._staff_self_weixin = rst.m_staff_self_weixin;
  181. tagVal._staff_self_email = rst.m_staff_self_email;
  182. tagVal._staff_educational = rst.m_staff_educational;
  183. tagVal._staff_native_place = rst.m_staff_native_place;
  184. tagVal._staff_birthday = rst.m_staff_birthday;
  185. tagVal._staff_graduate_institutions = rst.m_staff_graduate_institutions;
  186. tagVal._staff_note = rst.m_staff_note;
  187. //tagVal._staff_qq = rst.m_staff_qq;
  188. //tagVal._staff_trial_work_date= rst.m_staff_trial_work_date;
  189. vtResult.push_back(tagVal);
  190. rst.MoveNext();
  191. }
  192. rst.Close();
  193. }
  194. }
  195. catch(CDBException *e)
  196. {
  197. #ifdef _DEBUG
  198. WriteTextLog(_T("文件:%s,函数:%s, 错误信息:%s, 条件:%s"), __FILE__, __FUNCTION__, e->m_strError, strFilters);
  199. e->Delete();
  200. #endif
  201. }
  202. return nCount;
  203. }
  204. void CTblrenyuan::Insertrenyuan(IN CDatabase* pDb, IN vector<Tblrenyuan> &vtValues)
  205. {
  206. if ( pDb == NULL )
  207. return;
  208. CString strInsert = _T("");
  209. for ( vector<Tblrenyuan>::iterator it = vtValues.begin(); it != vtValues.end(); it++ )
  210. {
  211. strInsert.Format(INSERT_renyuan,
  212. it->_id.c_str(),
  213. it->_bz.c_str(),
  214. it->_rate1.c_str(),
  215. it->_rate2.c_str(),
  216. it->_bz2.c_str(),
  217. it->_address2.c_str(),
  218. it->_rate3.c_str(),
  219. it->_rate4.c_str(),
  220. it->_rate5.c_str(),
  221. it->_level.c_str(),
  222. it->_staff_department.c_str(),
  223. it->_staff_name.c_str(),
  224. it->_staff_gender.c_str(),
  225. it->_staff_phone.c_str(),
  226. it->_staff_family_address.c_str(),
  227. it->_staff_base_pay.c_str(),
  228. it->_staff_citizen_id_number.c_str(),
  229. it->_staff_married.c_str(),
  230. it->_staff_dimission.c_str(),
  231. it->_staff_fingerprinted1.c_str(),
  232. it->_staff_fingerprinted2.c_str(),
  233. it->_staff_self_phone.c_str(),
  234. it->_staff_father.c_str(),
  235. it->_staff_mother.c_str(),
  236. it->_staff_father_phone.c_str(),
  237. it->_staff_mother_phone.c_str(),
  238. it->_staff_emergency_name.c_str(),
  239. it->_staff_emergency_phone.c_str(),
  240. it->_staff_emergency_relationship.c_str(),
  241. it->_staff_hire_date.c_str(),
  242. it->_staff_leave_date.c_str(),
  243. it->_staff_self_qq.c_str(),
  244. it->_staff_self_weixin.c_str(),
  245. it->_staff_self_email.c_str(),
  246. it->_staff_educational.c_str(),
  247. it->_staff_native_place.c_str(),
  248. it->_staff_birthday.c_str(),
  249. it->_staff_graduate_institutions.c_str(),
  250. it->_staff_note.c_str()
  251. //it->_staff_qq.c_str(),
  252. //it->_staff_trial_work_date.c_str()
  253. );
  254. try{
  255. pDb->ExecuteSQL(strInsert);
  256. }
  257. catch(CDBException *e)
  258. {
  259. #ifdef _DEBUG
  260. WriteTextLog(_T("文件:%s,函数:%s, 错误信息:%s, 条件:%s"), __FILE__, __FUNCTION__, e->m_strError, strInsert);
  261. e->Delete();
  262. #endif
  263. }
  264. }
  265. }
  266. void CTblrenyuan::GetReturnValue(IN CArray<CStringArray, CStringArray>& AryValue, IN CDatabase* pDatabase, IN CString strFilter)
  267. {
  268. CRecordset tagSet(pDatabase);
  269. CString strTemp = _T("select count(*) as cot from [renyuan]");
  270. if ( !strFilter.IsEmpty() )
  271. strTemp += _T(" where ") + strFilter;
  272. tagSet.Open(CRecordset::forwardOnly, strTemp);
  273. tagSet.GetFieldValue(_T("cot"), strTemp);
  274. tagSet.Close();
  275. // 2.查询指定条件记录;
  276. DWORD dwCount = atol(strTemp);
  277. DWORD dwOldSize = AryValue.GetSize();
  278. AryValue.SetSize(dwOldSize + dwCount, 1);
  279. DWORD dwIndex = dwOldSize == 0 ? 0 : dwOldSize - 1;
  280. CTblrenyuan tagRst(pDatabase);
  281. if ( !strFilter.IsEmpty() )
  282. tagRst.m_strFilter = strFilter;
  283. tagRst.Open();
  284. while( !tagRst.IsEOF() )
  285. {
  286. AryValue.ElementAt(dwIndex).RemoveAll();
  287. AryValue.ElementAt(dwIndex).Add(tagRst.m_id); // 0.注释;
  288. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_note); // 1.注释;
  289. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate1); // 2.注释;
  290. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate2); // 3.注释;
  291. AryValue.ElementAt(dwIndex).Add(tagRst.m_bz2); // 4.注释;
  292. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_native_place); // 5.注释;
  293. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate3); // 6.注释;
  294. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate4); // 7.注释;
  295. AryValue.ElementAt(dwIndex).Add(tagRst.m_rate5); // 8.注释;
  296. AryValue.ElementAt(dwIndex).Add(tagRst.m_level); // 9.注释;
  297. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_department); // 10.注释;
  298. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_name); // 11.注释;
  299. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_gender); // 12.注释;
  300. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_phone); // 13.注释;
  301. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_family_address); // 14.注释;
  302. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_base_pay); // 15.注释;
  303. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_citizen_id_number); // 16.注释;
  304. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_married); // 17.注释;
  305. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_dimission); // 18.注释;
  306. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_fingerprinted1); // 19.注释;
  307. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_fingerprinted2); // 20.注释;
  308. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_self_phone); // 21.注释;
  309. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_father); // 22.注释;
  310. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_mother); // 23.注释;
  311. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_father_phone); // 24.注释;
  312. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_mother_phone); // 25.注释;
  313. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_emergency_name); // 26.注释;
  314. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_emergency_phone); // 27.注释;
  315. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_emergency_relationship); // 28.注释;
  316. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_hire_date); // 29.注释;
  317. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_leave_date); // 30.注释;
  318. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_self_qq); // 31.注释;
  319. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_self_weixin); // 32.注释;
  320. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_self_email); // 33.注释;
  321. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_educational); // 34.注释;
  322. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_birthday); // 35.注释;
  323. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_graduate_institutions); // 36.注释;
  324. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_qq); // 37.注释;
  325. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_trial_work_date); // 38.注释;
  326. AryValue.ElementAt(dwIndex).Add(tagRst.m_staff_position); // 39.注释;
  327. dwIndex++;
  328. if ( AryValue.GetSize() <= dwIndex )
  329. break;
  330. tagRst.MoveNext();
  331. }
  332. AryValue.SetSize(dwIndex,1);
  333. tagRst.Close();
  334. }