Executor.cpp 137 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780
  1. #include "StdAfx.h"
  2. #include <strsafe.h>
  3. #include "Executor.h"
  4. #include "resource.h"
  5. #include "ffsco.h"
  6. //////////////////////////////////////////////////////////////////////////
  7. IMPLEMENT_DYNAMIC(CTableUser, CRecordset)
  8. CTableUser::CTableUser(CDatabase* pdb): CRecordset(pdb)
  9. {
  10. m_account = _T("");
  11. m_strpsw = _T("");
  12. m_nFields = 2;
  13. m_nDefaultType = dynaset;
  14. }
  15. //#error 安全问题:连接字符串可能包含密码。
  16. // 此连接字符串中可能包含明文密码和/或其他重要
  17. // 信息。请在查看完此连接字符串并找到所有与安全
  18. // 有关的问题后移除 #error。可能需要将此密码存
  19. // 储为其他格式或使用其他的用户身份验证。
  20. CString CTableUser::GetDefaultConnect()
  21. {
  22. return _T("ODBC;DSN");
  23. }
  24. CString CTableUser::GetDefaultSQL()
  25. {
  26. return _T("[dbo].[user]");
  27. }
  28. void CTableUser::DoFieldExchange(CFieldExchange* pFX)
  29. {
  30. pFX->SetFieldType(CFieldExchange::outputColumn);
  31. // RFX_Text() 和 RFX_Int() 这类宏依赖的是
  32. // 成员变量的类型,而不是数据库字段的类型。
  33. // ODBC 尝试自动将列值转换为所请求的类型
  34. RFX_Text(pFX, _T("[account]"), m_account);
  35. RFX_Text(pFX, _T("[psw]"), m_strpsw);
  36. }
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CTableupdate 诊断
  39. #ifdef _DEBUG
  40. void CTableUser::AssertValid() const
  41. {
  42. CRecordset::AssertValid();
  43. }
  44. void CTableUser::Dump(CDumpContext& dc) const
  45. {
  46. CRecordset::Dump(dc);
  47. }
  48. #endif //_DEBUG
  49. //////////////////////////////////////////////////////////////////////////
  50. CExecutor::CExecutor(void)
  51. {
  52. }
  53. CExecutor::~CExecutor(void)
  54. {
  55. }
  56. int FindArray(__in CStringArray *pArray, __in CString Str)
  57. {
  58. for (int i = 0; i < pArray->GetSize(); i++)
  59. {
  60. if (pArray->ElementAt(i) == Str)
  61. return i;
  62. }
  63. return -1;
  64. }
  65. //--------------------------------
  66. // 注意:如果2015.mdf没有相应的2015.ldf文件,附加时他会使用逻辑名中的对应的ldf文件,即逻辑名为dbnull
  67. // 那2015数据库的ldf文件就是dbnull.ldf.
  68. // 这样就造成了两个mdf共一个ldf文件,造成更大的错误发生!
  69. //--------------------------------
  70. int CExecutor::ConnectDatabase()
  71. {
  72. // 1.准备工作,连接数据库;
  73. TCHAR szDBFile[MAX_PATH] = _T("");
  74. TCHAR szDBLogFile[MAX_PATH] = _T("");
  75. TCHAR szDBSource[MAX_PATH] = _T("");
  76. if (g_dwDBServerPort != 0)
  77. StringCchPrintf(szDBSource, MAX_PATH, _T("%s,%d"), g_szDBSource, g_dwDBServerPort);
  78. else
  79. StringCchPrintf(szDBSource, MAX_PATH, _T("%s"), g_szDBSource);
  80. TCHAR szConnectString[MAX_PATH];
  81. memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR));
  82. try
  83. {
  84. StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=master;uid=%s;pwd=%s"), szDBSource, g_szDBAccount, g_szDBPassWord);
  85. g_masterdb.OpenEx(szConnectString, CDatabase::noOdbcDialog);
  86. g_masterdb.SetQueryTimeout(120);
  87. }
  88. catch (CDBException * e)
  89. {
  90. #ifdef USE_CONSOLE
  91. AfxMessageBox(e->m_strError);
  92. #else
  93. _tprintf(_T("%s!\n"), e->m_strError);
  94. #endif
  95. e->Delete();
  96. return -1;
  97. }
  98. BOOL bOK = 1;
  99. memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR));
  100. StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=%s;uid=%s;pwd=%s"), szDBSource, g_szDBName, g_szDBAccount, g_szDBPassWord);
  101. try
  102. {
  103. g_db.OpenEx(szConnectString, CDatabase::noOdbcDialog);
  104. }
  105. catch (CDBException * e)
  106. {
  107. bOK = 0;
  108. StringCchPrintf(szDBFile, MAX_PATH, _T("%s数据\\%s.mdf"), g_ModulePath, g_szDBName);
  109. if (::PathFileExists(szDBFile) == 0)
  110. {
  111. #ifdef USE_CONSOLE
  112. AfxMessageBox(_T("未找到数据库文件!"));
  113. #else
  114. _tprintf(_T("未找到数据库文件!\n"));
  115. #endif
  116. return -1;
  117. }
  118. BOOL bLog = 0;
  119. StringCchPrintf(szDBLogFile, MAX_PATH, _T("%s数据\\%s_log.ldf"), g_ModulePath, g_szDBName);
  120. if (::PathFileExists(szDBLogFile) != 0)
  121. {
  122. bLog = 1;
  123. }
  124. CString sql;
  125. try
  126. {
  127. sql.Format(_T("exec sp_detach_db '%s'"), g_szDBName);
  128. g_masterdb.ExecuteSQL(sql);
  129. }
  130. catch (CDBException * e1)
  131. {
  132. e1->Delete();
  133. }
  134. if (bLog)
  135. sql.Format(_T("exec sp_attach_db '%s',@filename1='%s数据\\%s.mdf',@filename2='%s\\数据\\%s_log.ldf'"),
  136. g_szDBName, g_ModulePath, g_szDBName, g_ModulePath, g_szDBName);
  137. else
  138. sql.Format(_T("exec sp_attach_db '%s',@filename1='%s数据\\%s.mdf'"),
  139. g_szDBName, g_ModulePath, g_szDBName);
  140. try
  141. {
  142. g_masterdb.ExecuteSQL(sql);
  143. }
  144. catch (CDBException * e2)
  145. {
  146. #ifdef USE_CONSOLE
  147. AfxMessageBox(_T("附加数据库失败!"));
  148. #else
  149. _tprintf(_T("附加数据库失败!\n"));
  150. #endif
  151. e2->Delete();
  152. return -1;
  153. }
  154. e->Delete();
  155. }
  156. if (bOK == 0)
  157. {
  158. memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR));
  159. StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=%s;uid=%s;pwd=%s"), szDBSource, g_szDBName, g_szDBAccount, g_szDBPassWord);
  160. try
  161. {
  162. g_db.OpenEx(szConnectString, CDatabase::noOdbcDialog);
  163. }
  164. catch (CDBException * e)
  165. {
  166. #ifdef USE_CONSOLE
  167. AfxMessageBox(_T("连接SQL数据库失败!"));
  168. #else
  169. _tprintf(_T("连接SQL数据库失败!\n"));
  170. #endif
  171. e->Delete();
  172. return -1;
  173. }
  174. }
  175. g_dbArray.Add(&g_db);
  176. CDatabase *nulldb = new CDatabase;
  177. BOOL bnulldb = 1;
  178. memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR));
  179. StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=dbnull;uid=%s;pwd=%s"), szDBSource, g_szDBAccount, g_szDBPassWord);
  180. try
  181. {
  182. nulldb->OpenEx(szConnectString, CDatabase::noOdbcDialog);
  183. }
  184. catch (CDBException * e)
  185. {
  186. bnulldb = 0;
  187. e->Delete();
  188. }
  189. for (int i = CTime::GetCurrentTime().GetYear() - 1; i >= 2009; i--)
  190. {
  191. CDatabase *db = new CDatabase;
  192. try
  193. {
  194. memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR));
  195. StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=%d;uid=%s;pwd=%s"), szDBSource, i, g_szDBAccount, g_szDBPassWord);
  196. if (db->OpenEx(szConnectString, CDatabase::noOdbcDialog))
  197. g_dbArray.Add(db);
  198. else
  199. delete db;
  200. }
  201. catch (CDBException * e)
  202. {
  203. e->Delete();
  204. delete db;
  205. break;
  206. }
  207. }
  208. return 0;
  209. }
  210. int CExecutor::DisConnectDatabase()
  211. {
  212. for (int i = 0; i < g_dbArray.GetSize(); i++)
  213. {
  214. g_dbArray.ElementAt(i)->Close();
  215. }
  216. g_dbArray.RemoveAll();
  217. try
  218. {
  219. g_masterdb.ExecuteSQL(_T("exec sp_detach_db 'dbnull'"));
  220. }
  221. catch (CDBException * e)
  222. {
  223. #ifdef USE_CONSOLE
  224. AfxMessageBox(e->m_strError);
  225. #else
  226. _tprintf(_T("%s!\n"), e->m_strError);
  227. #endif
  228. e->Delete();
  229. }
  230. g_masterdb.Close();
  231. CString strPath(g_ModulePath);
  232. #ifdef USE_CONSOLE
  233. AfxMessageBox(_T("升级成功!"));
  234. #else
  235. _tprintf(_T("升级成功!\n"));
  236. #endif
  237. ShellExecute(NULL, _T("open"), strPath + _T("DBServer.exe"), NULL, NULL, SW_SHOWNORMAL);
  238. CStdioFile fp;
  239. fp.Open(strPath + _T("\\系统文件\\图片\\替换说明.txt"), CFile::modeCreate | CFile::modeWrite);
  240. fp.WriteString(_T("\
  241. 此文件夹中图片可替换为贵店图片,通过修改PSD保存为同名jpg即可\n\
  242. 背景.jpg文件尺寸必须为1660x1177\n\
  243. 标题.jpg文件尺寸必须为651x87\n\
  244. 标题-选片文件尺寸必须为2000x399\n\
  245. 如需PSD文件,请向利亚方舟索取\n\
  246. 替换后重启DBServer.exe和YLGL.exe生效"));
  247. fp.Close();
  248. ::CopyFile(strPath + _T("\\系统文件\\图片\\替换说明.txt"), strPath + _T("\\系统文件\\图片-红色风格\\替换说明.txt"), 0);
  249. return 0;
  250. }
  251. /*
  252. if not exists(select name from syscolumns where id=object_id('[tableName]') and name='[columnName]')
  253. alter table [tablename] add [columnName] [datatype]
  254. alter table tab_info alter column thisname varchar(200) not null
  255. */
  256. void CExecutor::AlterAddField(CString &strSQL, const char *pTable, const char *pField, const char *pDataType)
  257. {
  258. strSQL.Format(_T("if not exists(select name from syscolumns where id=object_id('%s') and name='%s') alter table [%s] add [%s] %s"),
  259. pTable, pField, pTable, pField, pDataType);
  260. }
  261. void CExecutor::AlterAddField(CDatabase *pdb, const TCHAR *pTable, const TCHAR *pField, const TCHAR *pDataType, const TCHAR *pAlterColumn)
  262. {
  263. CString strSQL;
  264. strSQL.Format(_T("if not exists(select name from syscolumns where id=object_id('%s') and name='%s') alter table [%s] add [%s] %s"),
  265. pTable, pField, pTable, pField, pDataType);
  266. try
  267. {
  268. pdb->ExecuteSQL(strSQL);
  269. if (pAlterColumn != NULL)
  270. {
  271. strSQL.Format(_T("alter table [%s] alter column [%s] %s"), pTable, pField, pAlterColumn);
  272. pdb->ExecuteSQL(strSQL);
  273. }
  274. }
  275. catch (CDBException *e)
  276. {
  277. AfxMessageBox(e->m_strError);
  278. e->Delete();
  279. }
  280. }
  281. int CExecutor::UpgradeSQL()
  282. {
  283. CString path;
  284. CString sql;
  285. for (int i = 0; i < g_dbArray.GetSize(); i++)
  286. {
  287. // add at 2014.12.04 短信类型;
  288. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("msgtype"), _T("nvarchar(10) null")); // 短信类型;
  289. // add at 2014.12.04 短信类型;
  290. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("msgtype"), _T("nvarchar(10) null")); // 短信类型;
  291. // 2014.09.05.Jeff add 为客户端添加MSCHRT20.OCX-----------
  292. AlterAddField(g_dbArray.ElementAt(i), _T("update"), _T("ocx"), _T("[image] NULL")); //sql="alter table [update] add [ocx] [image] NULL");
  293. // 2014.09.01.Jeff add 相片冲印添加返工及返工日期字段-----------
  294. AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("statusOfReWork"), _T("nvarchar(50)")); //sql="alter table [photoprint] add [statusOfReWork] nvarchar(50)");
  295. AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("timeOfReWork"), _T("nvarchar(50)")); //sql="alter table [photoprint] add [timeOfReWork] nvarchar(50)");
  296. // 2014.09.01.--------------------------------------------------
  297. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("status7"), _T("nvarchar(50)")); //sql="alter table [dindan] add [status7] nvarchar(50)");
  298. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date1"), _T("nvarchar(50)"));
  299. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date2"), _T("nvarchar(50)"));
  300. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date3"), _T("nvarchar(50)"));
  301. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date4"), _T("nvarchar(50)"));
  302. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name1"), _T("nvarchar(50)"));
  303. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name2"), _T("nvarchar(50)"));
  304. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name3"), _T("nvarchar(50)"));
  305. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name4"), _T("nvarchar(50)"));
  306. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("hqdate"), _T("nvarchar(50)"));
  307. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("hqtime"), _T("nvarchar(50)"));
  308. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("urgent"), _T("nvarchar(50)"));
  309. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("taketime"), _T("nvarchar(50)"));
  310. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("no2"), _T("nvarchar(max)"));
  311. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check1"), _T("nvarchar(50)"));
  312. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check2"), _T("nvarchar(50)"));
  313. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check3"), _T("nvarchar(50)"));
  314. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check4"), _T("nvarchar(50)"));
  315. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit1"), _T("nvarchar(50)"));
  316. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit2"), _T("nvarchar(50)"));
  317. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit3"), _T("nvarchar(50)"));
  318. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit4"), _T("nvarchar(50)"));
  319. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info1"), _T("nvarchar(50)"),_T("nvarchar(50)"));
  320. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info2"), _T("nvarchar(50)"),_T("nvarchar(50)"));
  321. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info3"), _T("nvarchar(50)"),_T("nvarchar(50)"));
  322. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info4"), _T("nvarchar(50)"),_T("nvarchar(50)"));
  323. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info5"), _T("nvarchar(50)"),_T("nvarchar(50)"));
  324. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info6"), _T("nvarchar(50)"),_T("nvarchar(50)"));
  325. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak1"), _T("nvarchar(50)"));
  326. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak2"), _T("nvarchar(50)"));
  327. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak3"), _T("nvarchar(50)"));
  328. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak4"), _T("nvarchar(50)"));
  329. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak5"), _T("nvarchar(50)"));
  330. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak6"), _T("nvarchar(50)"));
  331. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("baktime"), _T("nvarchar(50)"));
  332. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver1"), _T("nvarchar(50)"));
  333. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver2"), _T("nvarchar(50)"));
  334. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver3"), _T("nvarchar(50)"));
  335. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver4"), _T("nvarchar(50)"));
  336. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver5"), _T("nvarchar(50)"));
  337. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgaccount"), _T("nvarchar(50)"));
  338. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgpsw"), _T("nvarchar(50)"));
  339. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgused"), _T("nvarchar(50)"));
  340. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgbalance"), _T("nvarchar(50)"));
  341. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck1"), _T("nvarchar(50)"));
  342. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck2"), _T("nvarchar(50)"));
  343. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgdays1"), _T("nvarchar(50)"));
  344. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgdays2"), _T("nvarchar(50)"));
  345. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck3"), _T("nvarchar(50)"));
  346. sql = _T("alter table [version] ALTER COLUMN [msgcontent1] nvarchar(max)");
  347. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  348. sql = _T("alter table [version] ALTER COLUMN [msgcontent2] nvarchar(max)");
  349. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  350. sql = _T("alter table [version] ALTER COLUMN [msgcontent3] nvarchar(max)");
  351. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  352. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent1"), _T("nvarchar(max)"));
  353. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent2"), _T("nvarchar(max)"));
  354. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent3"), _T("nvarchar(max)"));
  355. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent5"), _T("nvarchar(max)"));
  356. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent6"), _T("nvarchar(max)"));
  357. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("remarks"), _T("nvarchar(max)"),_T("nvarchar(max)"));
  358. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("rate"), _T("nvarchar(50)"));
  359. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck1"), _T("nvarchar(50)"));
  360. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck2"), _T("nvarchar(50)"));
  361. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck3"), _T("nvarchar(50)"));
  362. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck4"), _T("nvarchar(50)"));
  363. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck4"), _T("nvarchar(50)"));
  364. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck5"), _T("nvarchar(50)"));
  365. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck6"), _T("nvarchar(50)"));
  366. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgtime"), _T("nvarchar(50)"));
  367. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgphones"), _T("nvarchar(max)"));
  368. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgphones2"), _T("nvarchar(max)"));
  369. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcompanyname"), _T("nvarchar(50)"));
  370. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgsendtype"), _T("nvarchar(50)"));
  371. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("rate2"), _T("nvarchar(50)"));
  372. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck1"), _T("nvarchar(50)"));
  373. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck2"), _T("nvarchar(50)"));
  374. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck3"), _T("nvarchar(50)"));
  375. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck4"), _T("nvarchar(50)"));
  376. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck5"), _T("nvarchar(50)"));
  377. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck6"), _T("nvarchar(50)"));
  378. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck10"), _T("nvarchar(50)"));
  379. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("printer1"), _T("nvarchar(50)"));
  380. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("printer2"), _T("nvarchar(50)"));
  381. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("printer3"), _T("nvarchar(50)"));
  382. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setprintstyle"), _T("nvarchar(50)"));
  383. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setprintstyle2"), _T("nvarchar(50)"));
  384. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck1"), _T("nvarchar(50)"));
  385. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck2"), _T("nvarchar(50)"));
  386. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck3"), _T("nvarchar(50)"));
  387. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck4"), _T("nvarchar(50)"));
  388. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak11"), _T("nvarchar(50)"));
  389. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak22"), _T("nvarchar(50)"));
  390. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak33"), _T("nvarchar(50)"));
  391. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak44"), _T("nvarchar(50)"));
  392. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype1"), _T("nvarchar(50)"));
  393. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype2"), _T("nvarchar(50)"));
  394. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype3"), _T("nvarchar(50)"));
  395. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype4"), _T("nvarchar(50)"));
  396. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("limitcount1"), _T("nvarchar(50)"));
  397. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("limitcount2"), _T("nvarchar(50)"));
  398. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("limitcount3"), _T("nvarchar(50)"));
  399. sql = _T("if not exists(select name from sysobjects where name='sendreg') create table [sendreg]([timestamp] nvarchar(50))");
  400. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  401. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("msgcount"), _T("nvarchar(50)"));
  402. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("log"), _T("nvarchar(50)"));
  403. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("status"), _T("nvarchar(50)"));
  404. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("issended"), _T("nvarchar(50)"));
  405. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("isautosend"), _T("nvarchar(50)"));
  406. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("phones"), _T("nvarchar(max)"));
  407. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("content"), _T("nvarchar(max)"));
  408. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  409. sql = _T("if not exists(select name from sysobjects where name='sendreg2') create table [sendreg2]([price] nvarchar(50))");
  410. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  411. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("yytime"), _T("nvarchar(50)"));
  412. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("client"), _T("nvarchar(50)"));
  413. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("type"), _T("nvarchar(50)"));
  414. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("date"), _T("nvarchar(50)"));
  415. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("phones"), _T("nvarchar(max)"));
  416. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("content"), _T("nvarchar(max)"));
  417. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  418. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("memberno"), _T("nvarchar(50)"));
  419. sql = _T("if not exists(select name from sysobjects where name='membermanage') create table [membermanage]([memberno] nvarchar(50))");
  420. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  421. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("name"), _T("nvarchar(50)"));
  422. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("sex"), _T("nvarchar(50)"));
  423. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("phone"), _T("nvarchar(50)"));
  424. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("qq"), _T("nvarchar(50)"));
  425. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("addr"), _T("nvarchar(50)"));
  426. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("occupation"), _T("nvarchar(50)"));
  427. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("birthday"), _T("nvarchar(50)"));
  428. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("pinyin"), _T("nvarchar(50)"));
  429. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("date"), _T("nvarchar(50)"));
  430. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("money"), _T("nvarchar(50)"));
  431. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  432. sql = _T("if not exists(select name from sysobjects where name='membermanageblue') create table [membermanageblue]([memberno] nvarchar(50))");
  433. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  434. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("name"), _T("nvarchar(50)"));
  435. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("sex"), _T("nvarchar(50)"));
  436. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("phone"), _T("nvarchar(50)"));
  437. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("qq"), _T("nvarchar(50)"));
  438. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("addr"), _T("nvarchar(50)"));
  439. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("occupation"), _T("nvarchar(50)"));
  440. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("birthday"), _T("nvarchar(50)"));
  441. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("pinyin"), _T("nvarchar(50)"));
  442. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("date"), _T("nvarchar(50)"));
  443. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("money"), _T("nvarchar(50)"));
  444. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("money2"), _T("nvarchar(50)"));
  445. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("money3"), _T("nvarchar(50)"));
  446. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("jiage"), _T("nvarchar(50)"));
  447. AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  448. sql = _T("if not exists(select name from sysobjects where name='memberreg') create table [memberreg]([memberno] nvarchar(50))");
  449. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  450. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("dindanid"), _T("nvarchar(50)"));
  451. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("money"), _T("nvarchar(50)"));
  452. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("date"), _T("nvarchar(50)"));
  453. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("card2no"), _T("nvarchar(50)"));
  454. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("type"), _T("nvarchar(50)"));
  455. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("taoxi"), _T("nvarchar(50)"));
  456. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("date2"), _T("nvarchar(50)"));
  457. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  458. sql = _T("if not exists(select name from sysobjects where name='memberreg2') create table [memberreg2]([memberno] nvarchar(50))");
  459. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  460. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("dindanid"), _T("nvarchar(50)"));
  461. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("money"), _T("nvarchar(50)"));
  462. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("point"), _T("nvarchar(50)"));
  463. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("date"), _T("nvarchar(50)"));
  464. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  465. sql = _T("if not exists(select name from sysobjects where name='memberreg2blue') create table [memberreg2blue]([memberno] nvarchar(50))");
  466. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  467. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2blue"), _T("money"), _T("nvarchar(50)"));
  468. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2blue"), _T("date"), _T("nvarchar(50)"));
  469. AlterAddField(g_dbArray.ElementAt(i), _T("path"), _T("path5"), _T("nvarchar(50)"));
  470. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("time3"), _T("nvarchar(50)"));
  471. sql = _T("if not exists(select name from sysobjects where name='dressinfo') create table [dressinfo]([type] nvarchar(50))");
  472. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  473. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("no"), _T("nvarchar(50)"));
  474. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("name"), _T("nvarchar(50)"));
  475. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("count"), _T("nvarchar(50)"));
  476. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("price1"), _T("nvarchar(50)"));
  477. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("price2"), _T("nvarchar(50)"));
  478. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("date"), _T("nvarchar(50)"));
  479. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("hirecount"), _T("nvarchar(50)"));
  480. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("salecount"), _T("nvarchar(50)"));
  481. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("balance"), _T("nvarchar(50)"));
  482. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("remark"), _T("nvarchar(max)"));
  483. sql = _T("if not exists(select name from sysobjects where name='dresstype') create table [dresstype]([name] nvarchar(50))");
  484. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  485. AlterAddField(g_dbArray.ElementAt(i), _T("dresstype"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  486. sql = _T("if not exists(select name from sysobjects where name='dresshire') create table [dresshire]([money] nvarchar(50))");
  487. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  488. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("money2"), _T("nvarchar(50)"));
  489. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("date"), _T("nvarchar(50)"));
  490. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("clerk"), _T("nvarchar(50)"));
  491. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("hireorsale"), _T("nvarchar(50)"));
  492. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("name"), _T("nvarchar(50)"));
  493. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("phone"), _T("nvarchar(50)"));
  494. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("id"), _T("nvarchar(50)"));
  495. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("remark"), _T("nvarchar(max)"));
  496. sql = _T("if not exists(select name from sysobjects where name='dresshiredata') create table [dresshiredata]([id] nvarchar(50))");
  497. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  498. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("no"), _T("nvarchar(50)"));
  499. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("name"), _T("nvarchar(50)"));
  500. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("count"), _T("nvarchar(50)"));
  501. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("isreturn"), _T("nvarchar(50)"));
  502. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("returndate"), _T("nvarchar(50)"));
  503. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("clerk"), _T("nvarchar(50)"));
  504. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("hireorsale"), _T("nvarchar(50)"));
  505. AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("time1"), _T("nvarchar(50)"));
  506. AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("time2"), _T("nvarchar(50)"));
  507. sql = _T("if not exists(select name from sysobjects where name='storeinfo') create table [storeinfo]([id] nvarchar(50))");
  508. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  509. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("type"), _T("nvarchar(50)"));
  510. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("name"), _T("nvarchar(50)"));
  511. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("count"), _T("nvarchar(50)"));
  512. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("date"), _T("nvarchar(50)"));
  513. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("clerk"), _T("nvarchar(50)"));
  514. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("remark"), _T("nvarchar(max)"));
  515. sql = _T("if not exists(select name from sysobjects where name='storeinfo2') create table [storeinfo2]([id] nvarchar(50))");
  516. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  517. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("type"), _T("nvarchar(50)"));
  518. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("name"), _T("nvarchar(50)"));
  519. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("count"), _T("nvarchar(50)"));
  520. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("date"), _T("nvarchar(50)"));
  521. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("clerk"), _T("nvarchar(50)"));
  522. AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("remark"), _T("nvarchar(max)"));
  523. sql = _T("if not exists(select name from sysobjects where name='taoxifg') create table [taoxifg]([name] nvarchar(50))");
  524. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  525. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("address2"), _T("nvarchar(50)"));
  526. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("idno"), _T("nvarchar(50)"));
  527. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("marry"), _T("nvarchar(50)"));
  528. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("dimission"), _T("nvarchar(50)"));
  529. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter8"), _T("nvarchar(50)"));
  530. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time6"), _T("nvarchar(50)"));
  531. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("status8"), _T("nvarchar(50)"));
  532. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("bruncount"), _T("nvarchar(50)"));
  533. sql = _T("if not exists(select name from sysobjects where name='burncdreg') create table [burncdreg]([id] nvarchar(50))");
  534. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  535. AlterAddField(g_dbArray.ElementAt(i), _T("burncdreg"), _T("date"), _T("nvarchar(50)"));
  536. AlterAddField(g_dbArray.ElementAt(i), _T("burncdreg"), _T("ren"), _T("nvarchar(50)"));
  537. AlterAddField(g_dbArray.ElementAt(i), _T("burncdreg"), _T("remark"), _T("nvarchar(50)"));
  538. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("area"), _T("nvarchar(50)"));
  539. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("area2"), _T("nvarchar(50)"));
  540. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("check1"), _T("nvarchar(50)"));
  541. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("check2"), _T("nvarchar(50)"));
  542. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("check3"), _T("nvarchar(50)"));
  543. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("sex"), _T("nvarchar(50)"));
  544. AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("zodiac"), _T("nvarchar(50)"));
  545. sql = _T("if not exists(select name from sysobjects where name='area') create table [area]([id] nvarchar(50))");
  546. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  547. AlterAddField(g_dbArray.ElementAt(i), _T("area"), _T("name"), _T("nvarchar(50)"));
  548. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("ren"), _T("nvarchar(50)"));
  549. AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("ren"), _T("nvarchar(50)"));
  550. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("rate3"), _T("nvarchar(50)"));
  551. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("rate4"), _T("nvarchar(50)"));
  552. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("rate5"), _T("nvarchar(50)"));
  553. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("loginno1"), _T("nvarchar(50)"));
  554. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("loginno2"), _T("nvarchar(50)"));
  555. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren1"), _T("nvarchar(50)"));
  556. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren2"), _T("nvarchar(50)"));
  557. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren3"), _T("nvarchar(50)"));
  558. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren4"), _T("nvarchar(50)"));
  559. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren5"), _T("nvarchar(50)"));
  560. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("datetime4"), _T("nvarchar(50)"));
  561. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("datetime5"), _T("nvarchar(50)"));
  562. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("datetime6"), _T("nvarchar(50)"));
  563. sql = _T("if not exists(select name from sysobjects where name='salary') create table [salary]([name] nvarchar(50))");
  564. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  565. AlterAddField(g_dbArray.ElementAt(i), _T("salary"), _T("year"), _T("nvarchar(50)"));
  566. AlterAddField(g_dbArray.ElementAt(i), _T("salary"), _T("month"), _T("nvarchar(50)"));
  567. AlterAddField(g_dbArray.ElementAt(i), _T("salary"), _T("money"), _T("nvarchar(50)"));
  568. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("sale2type"), _T("nvarchar(50)"));
  569. sql = _T("if not exists(select name from sysobjects where name='rewards') create table [rewards]([name] nvarchar(50))");
  570. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  571. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("type"), _T("nvarchar(50)"));
  572. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("money"), _T("nvarchar(50)"));
  573. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("execute"), _T("nvarchar(50)"));
  574. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("date"), _T("nvarchar(50)"));
  575. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("renyuan"), _T("nvarchar(50)"));
  576. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("bz"), _T("nvarchar(max)"));
  577. AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  578. #if 1
  579. //添加主键约束 alter table [shangpin] add constraint PK__shangpin__440B1D61 primary key(spid)
  580. //删除主键约束 alter table [shangpin] drop constraint PK__shangpin__440B1D61
  581. sql = _T("declare @key_name nvarchar(200)\n");
  582. sql += _T("set @key_name = (select constraint_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='shangpin') \n");
  583. sql += _T("if @key_name <> '' begin \n");
  584. sql += _T("set @key_name ='alter table [shangpin] drop constraint ' +(select constraint_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='shangpin')\n");
  585. sql += _T("exec(@key_name)\n");
  586. sql += _T("end");
  587. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  588. //sql = _T("IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[shangpin]') AND name = N'PK__shangpin__440B1D61') ALTER TABLE [dbo].[shangpin] DROP CONSTRAINT [PK__shangpin__440B1D61]");
  589. //ExecuteSQL(g_dbArray.ElementAt(i), sql);
  590. //sql = _T("IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[shangpin]') AND name = N'PK_shangpin') ALTER TABLE [dbo].[shangpin] DROP CONSTRAINT [PK_shangpin]");
  591. //ExecuteSQL(g_dbArray.ElementAt(i), sql);
  592. sql = _T("declare @name varchar(200) \n");
  593. sql += _T("select @name=b.name from syscolumns a,sysobjects b where a.id=object_id('shangpin') and b.id=a.cdefault and a.name='spid' and b.name like 'DF%' \n");
  594. sql += _T("if @name <> '' begin \n");
  595. sql += _T("set @name = 'alter table [shangpin] drop constraint ' + (select b.name from syscolumns a,sysobjects b where a.id=object_id('shangpin') and b.id=a.cdefault and a.name='spid' and b.name like 'DF%') \n");
  596. sql += _T("exec (@name) \n");
  597. sql += _T("end");
  598. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  599. //sql = _T("ALTER TABLE [dbo].[shangpin] DROP CONSTRAINT [DF__shangpin__spid__44FF419A]");
  600. //ExecuteSQL(g_dbArray.ElementAt(i), sql);
  601. //sql = _T("ALTER TABLE [dbo].[shangpin] DROP CONSTRAINT [DF_shangpin_spid]");
  602. //ExecuteSQL(g_dbArray.ElementAt(i), sql);
  603. sql = _T("alter table [shangpin] ALTER COLUMN [spid] nvarchar(50) not null");
  604. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  605. sql = _T("ALTER TABLE [dbo].[shangpin] ADD constraint DF_shangpin_spid DEFAULT ('0') FOR [spid]");
  606. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  607. sql = _T("alter table [shangpin] add constraint PK_shangpin primary key(spid)");
  608. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  609. #else
  610. sql = _T("alter table [shangpin] ALTER COLUMN [spid] nvarchar(50)");
  611. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  612. #endif
  613. sql = _T("if not exists(select name from sysobjects where name='client2') create table [client2]([name] nvarchar(50))");
  614. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  615. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("phone"), _T("nvarchar(50)"));
  616. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("qq"), _T("nvarchar(50)"));
  617. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("addr"), _T("nvarchar(50)"));
  618. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("from"), _T("nvarchar(50)"));
  619. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("reason"), _T("nvarchar(50)"));
  620. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("bz"), _T("nvarchar(max)"));
  621. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("pinyin"), _T("nvarchar(50)"));
  622. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("date"), _T("nvarchar(50)"));
  623. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("sex"), _T("nvarchar(50)"));
  624. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("ren"), _T("nvarchar(50)"));
  625. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  626. sql = _T("if not exists(select name from sysobjects where name='client3') create table [client3]([name] nvarchar(50))");
  627. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  628. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("phone"), _T("nvarchar(50)"));
  629. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("qq"), _T("nvarchar(50)"));
  630. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("addr"), _T("nvarchar(50)"));
  631. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("bz"), _T("nvarchar(max)"));
  632. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("pinyin"), _T("nvarchar(50)"));
  633. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("date"), _T("nvarchar(50)"));
  634. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("sex"), _T("nvarchar(50)"));
  635. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("ren"), _T("nvarchar(50)"));
  636. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  637. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("dandate"), _T("nvarchar(50)"));
  638. AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("item"), _T("nvarchar(50)"));
  639. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send1"), _T("nvarchar(50)"));
  640. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send2"), _T("nvarchar(50)"));
  641. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send3"), _T("nvarchar(50)"));
  642. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter12"), _T("nvarchar(50)"));
  643. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter13"), _T("nvarchar(50)"));
  644. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter14"), _T("nvarchar(50)"));
  645. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter22"), _T("nvarchar(50)"));
  646. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter23"), _T("nvarchar(50)"));
  647. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter24"), _T("nvarchar(50)"));
  648. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter1rate"), _T("nvarchar(50)"));
  649. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter12rate"), _T("nvarchar(50)"));
  650. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter13rate"), _T("nvarchar(50)"));
  651. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter14rate"), _T("nvarchar(50)"));
  652. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter2rate"), _T("nvarchar(50)"));
  653. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter22rate"), _T("nvarchar(50)"));
  654. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter23rate"), _T("nvarchar(50)"));
  655. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter24rate"), _T("nvarchar(50)"));
  656. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("ren2"), _T("nvarchar(50)"));
  657. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("renrate"), _T("nvarchar(50)"));
  658. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("ren2rate"), _T("nvarchar(50)"));
  659. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("delphotos"), _T("nvarchar(max)"));
  660. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("delphotos2"), _T("nvarchar(max)"));
  661. sql = _T("if not exists(select name from sysobjects where name='lonindata') create table [lonindata]([no] nvarchar(50))");
  662. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  663. AlterAddField(g_dbArray.ElementAt(i), _T("lonindata"), _T("datetime"), _T("nvarchar(50)"));
  664. sql = _T("if not exists(select name from sysobjects where name='lonintimeset') create table [lonintimeset]([name] nvarchar(50))");
  665. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  666. AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time1"), _T("nvarchar(50)"));
  667. AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time2"), _T("nvarchar(50)"));
  668. sql = _T("if not exists(select name from sysobjects where name='loninbanset') create table [loninbanset]([weekname] nvarchar(50))");
  669. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  670. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("name"), _T("nvarchar(50)"));
  671. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname1"), _T("nvarchar(50)"));
  672. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname2"), _T("nvarchar(50)"));
  673. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname3"), _T("nvarchar(50)"));
  674. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname4"), _T("nvarchar(50)"));
  675. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname5"), _T("nvarchar(50)"));
  676. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname6"), _T("nvarchar(50)"));
  677. AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname7"), _T("nvarchar(50)"));
  678. sql = _T("if not exists(select name from sysobjects where name='phonerecord') create table [phonerecord]([id] nvarchar(50))");
  679. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  680. AlterAddField(g_dbArray.ElementAt(i), _T("phonerecord"), _T("phoneno"), _T("nvarchar(50)"));
  681. AlterAddField(g_dbArray.ElementAt(i), _T("phonerecord"), _T("datetime"), _T("nvarchar(50)"));
  682. sql = _T("if not exists(select name from sysobjects where name='employeephonerecord') create table [employeephonerecord]([name] nvarchar(50))");
  683. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  684. AlterAddField(g_dbArray.ElementAt(i), _T("employeephonerecord"), _T("datetime"), _T("nvarchar(50)"));
  685. sql = _T("if not exists(select name from sysobjects where name='unknownphonerecord') create table [unknownphonerecord]([phone] nvarchar(50))");
  686. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  687. AlterAddField(g_dbArray.ElementAt(i), _T("unknownphonerecord"), _T("datetime"), _T("nvarchar(50)"));
  688. sql = _T("if not exists(select name from sysobjects where name='client2phonerecord') create table [client2phonerecord]([phone] nvarchar(50))");
  689. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  690. AlterAddField(g_dbArray.ElementAt(i), _T("client2phonerecord"), _T("datetime"), _T("nvarchar(50)"));
  691. sql = _T("if not exists(select name from sysobjects where name='misscallrecord') create table [misscallrecord]([phone] nvarchar(50))");
  692. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  693. AlterAddField(g_dbArray.ElementAt(i), _T("misscallrecord"), _T("datetime"), _T("nvarchar(50)"));
  694. AlterAddField(g_dbArray.ElementAt(i), _T("misscallrecord"), _T("name"), _T("nvarchar(50)"));
  695. AlterAddField(g_dbArray.ElementAt(i), _T("misscallrecord"), _T("type"), _T("nvarchar(50)"));
  696. sql = _T("if not exists(select name from sysobjects where name='phonerecordout') create table [phonerecordout]([name] nvarchar(50))");
  697. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  698. AlterAddField(g_dbArray.ElementAt(i), _T("phonerecordout"), _T("phoneno"), _T("nvarchar(50)"));
  699. AlterAddField(g_dbArray.ElementAt(i), _T("phonerecordout"), _T("datetime"), _T("nvarchar(50)"));
  700. sql = _T("if not exists(select name from sysobjects where name='employeephonerecordout') create table [employeephonerecordout]([name] nvarchar(50))");
  701. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  702. AlterAddField(g_dbArray.ElementAt(i), _T("employeephonerecordout"), _T("phoneno"), _T("nvarchar(50)"));
  703. AlterAddField(g_dbArray.ElementAt(i), _T("employeephonerecordout"), _T("datetime"), _T("nvarchar(50)"));
  704. sql = _T("if not exists(select name from sysobjects where name='unknownphonerecordout') create table [unknownphonerecordout]([phoneno] nvarchar(50))");
  705. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  706. AlterAddField(g_dbArray.ElementAt(i), _T("unknownphonerecordout"), _T("datetime"), _T("nvarchar(50)"));
  707. sql = _T("if not exists(select name from sysobjects where name='client2phonerecordout') create table [client2phonerecordout]([phoneno] nvarchar(50))");
  708. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  709. AlterAddField(g_dbArray.ElementAt(i), _T("client2phonerecordout"), _T("datetime"), _T("nvarchar(50)"));
  710. AlterAddField(g_dbArray.ElementAt(i), _T("client2phonerecordout"), _T("name"), _T("nvarchar(50)"));
  711. sql = _T("if not exists(select name from sysobjects where name='sendregcard') create table [sendregcard]([timestamp] nvarchar(50))");
  712. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  713. AlterAddField(g_dbArray.ElementAt(i), _T("sendregcard"), _T("phones"), _T("nvarchar(50)"));
  714. sql = _T("if not exists(select name from sysobjects where name='sendregreceive') create table [sendregreceive]([timestamp] nvarchar(50))");
  715. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  716. AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("phones"), _T("nvarchar(200)"));
  717. AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("content"), _T("nvarchar(200)"));
  718. AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("status"), _T("nvarchar(200)"));
  719. sql = _T("if not exists(select name from sysobjects where name='insidemsg') create table [insidemsg]([timestamp] nvarchar(50))");
  720. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  721. AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("content"), _T("nvarchar(max)"));
  722. AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("sender"), _T("nvarchar(50)"));
  723. AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("receiver"), _T("nvarchar(max)"));
  724. AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("receiver2"), _T("nvarchar(max)"));
  725. AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("file"), _T("nvarchar(50)"));
  726. sql = _T("if not exists(select name from sysobjects where name='membercard2') create table [membercard2]([memberno] nvarchar(50))");
  727. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  728. AlterAddField(g_dbArray.ElementAt(i), _T("membercard2"), _T("card2no"), _T("nvarchar(50)"));
  729. AlterAddField(g_dbArray.ElementAt(i), _T("membercard2"), _T("date"), _T("nvarchar(50)"));
  730. sql = _T("if not exists(select name from sysobjects where name='membercard2blue') create table [membercard2blue]([memberno] nvarchar(50))");
  731. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  732. AlterAddField(g_dbArray.ElementAt(i), _T("membercard2blue"), _T("card2no"), _T("nvarchar(50)"));
  733. AlterAddField(g_dbArray.ElementAt(i), _T("membercard2blue"), _T("date"), _T("nvarchar(50)"));
  734. sql = _T("if not exists(select name from sysobjects where name='memberregblue') create table [memberregblue]([memberno] nvarchar(50))");
  735. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  736. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("dindanid"), _T("nvarchar(50)"));
  737. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("money"), _T("nvarchar(50)"));
  738. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("date"), _T("nvarchar(50)"));
  739. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("card2no"), _T("nvarchar(50)"));
  740. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("type"), _T("nvarchar(50)"));
  741. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("taoxi"), _T("nvarchar(50)"));
  742. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("date2"), _T("nvarchar(50)"));
  743. AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  744. sql = _T("if not exists(select name from sysobjects where name='msgtemp') create table [msgtemp]([title] nvarchar(50))");
  745. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  746. AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp"), _T("content"), _T("nvarchar(max)"));
  747. sql = _T("if not exists(select name from sysobjects where name='digitalwork') create table [digitalwork]([id] nvarchar(50))");
  748. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  749. AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("waiter1"), _T("nvarchar(50)"));
  750. AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("waiter2"), _T("nvarchar(50)"));
  751. AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("waiter3"), _T("nvarchar(50)"));
  752. AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("date1"), _T("nvarchar(50)"));
  753. AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("date2"), _T("nvarchar(50)"));
  754. AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("date3"), _T("nvarchar(50)"));
  755. sql = _T("if not exists(select name from sysobjects where name='mywork') create table [mywork]([id] nvarchar(50))");
  756. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  757. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("name"), _T("nvarchar(50)"));
  758. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("datetime"), _T("nvarchar(50)"));
  759. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("count1"), _T("nvarchar(50)"));
  760. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("count2"), _T("nvarchar(50)"));
  761. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("count3"), _T("nvarchar(50)"));
  762. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("type"), _T("nvarchar(50)"));
  763. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("inputdate"), _T("nvarchar(50)"));
  764. AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("inputren"), _T("nvarchar(50)"));
  765. sql = _T("if not exists(select name from sysobjects where name='workrate') create table [workrate]([type] nvarchar(50))");
  766. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  767. AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data1"), _T("nvarchar(50)"));
  768. AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data2"), _T("nvarchar(50)"));
  769. AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data3"), _T("nvarchar(50)"));
  770. AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data4"), _T("nvarchar(50)"));
  771. AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data5"), _T("nvarchar(50)"));
  772. AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data6"), _T("nvarchar(50)"));
  773. AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("area"), _T("nvarchar(50)"));
  774. AlterAddField(g_dbArray.ElementAt(i), _T("shangpin"), _T("spjiage3"), _T("nvarchar(50)"));
  775. sql = _T("if not exists(select name from sysobjects where name='jd') create table [jd]([name] nvarchar(50))");
  776. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  777. AlterAddField(g_dbArray.ElementAt(i), _T("jd"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  778. sql = _T("if not exists(select name from sysobjects where name='txlb') create table [txlb]([name] nvarchar(50))");
  779. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  780. AlterAddField(g_dbArray.ElementAt(i), _T("txlb"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  781. sql = _T("if not exists(select name from sysobjects where name='growthtx') create table [growthtx]([name] nvarchar(50))");
  782. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  783. AlterAddField(g_dbArray.ElementAt(i), _T("growthtx"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  784. sql = _T("if not exists(select name from sysobjects where name='worktype') create table [worktype]([name] nvarchar(50))");
  785. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  786. AlterAddField(g_dbArray.ElementAt(i), _T("worktype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  787. sql = _T("if not exists(select name from sysobjects where name='expendtype') create table [expendtype]([name] nvarchar(50))");
  788. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  789. AlterAddField(g_dbArray.ElementAt(i), _T("expendtype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  790. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salaryset"), _T("nvarchar(max)"));
  791. sql = _T("if not exists(select name from sysobjects where name='dindanjd') create table [dindanjd]([id] nvarchar(50))");
  792. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  793. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("name"), _T("nvarchar(50)"));
  794. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("date"), _T("nvarchar(50)"), _T("nvarchar(50)"));
  795. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("time"), _T("nvarchar(50)"));
  796. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter1"), _T("nvarchar(50)"));
  797. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter2"), _T("nvarchar(50)"));
  798. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("txtype"), _T("nvarchar(50)"));
  799. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("growthtxselname"), _T("nvarchar(max)"));
  800. AlterAddField(g_dbArray.ElementAt(i), _T("user"), _T("rights2"), _T("nvarchar(max)"));
  801. sql = _T("alter table [dindanbukuan] ALTER COLUMN [item] nvarchar(max)");
  802. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  803. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("designno"), _T("nvarchar(max)"));
  804. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("designreplaceno"), _T("nvarchar(max)"));
  805. sql = _T("if not exists(select name from sysobjects where name='membercard3') create table [membercard3]([memberno] nvarchar(50))");
  806. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  807. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("card2no"), _T("nvarchar(50)"));
  808. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("date"), _T("nvarchar(50)"));
  809. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("balance"), _T("nvarchar(50)"));
  810. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("balance"), _T("nvarchar(50)"));
  811. sql = _T("if not exists(select name from sysobjects where name='memberreg3') create table [memberreg3]([memberno] nvarchar(50))");
  812. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  813. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("money"), _T("nvarchar(50)"));
  814. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("date"), _T("nvarchar(50)"));
  815. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("clerk"), _T("nvarchar(50)"));
  816. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  817. sql = _T("if not exists(select name from sysobjects where name='memberreg4') create table [memberreg4]([memberno] nvarchar(50))");
  818. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  819. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("money"), _T("nvarchar(50)"));
  820. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("card2no"), _T("nvarchar(50)"));
  821. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("date"), _T("nvarchar(50)"));
  822. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("clerk"), _T("nvarchar(50)"));
  823. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  824. AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("paytype"), _T("nvarchar(50)"));
  825. sql = _T("if not exists(select name from sysobjects where name='membercard3usereg') create table [membercard3usereg]([memberno] nvarchar(50))");
  826. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  827. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("dindanid"), _T("nvarchar(50)"));
  828. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("money"), _T("nvarchar(50)"));
  829. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("date"), _T("nvarchar(50)"));
  830. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  831. sql = _T("if not exists(select name from sysobjects where name='membercard3childusereg') create table [membercard3childusereg]([memberno] nvarchar(50))");
  832. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  833. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("dindanid"), _T("nvarchar(50)"));
  834. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("money"), _T("nvarchar(50)"));
  835. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("date"), _T("nvarchar(50)"));
  836. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  837. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("paytype"), _T("nvarchar(50)"));
  838. sql = _T("if not exists(select name from sysobjects where name='loginsign') create table [loginsign]([name] nvarchar(50))");
  839. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  840. AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("date"), _T("nvarchar(50)"));
  841. AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("type"), _T("nvarchar(50)"));
  842. AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("cleck"), _T("nvarchar(50)"));
  843. AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  844. sql = _T("if not exists(select name from sysobjects where name='baseexpendtype') create table [baseexpendtype]([name] nvarchar(50))");
  845. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  846. AlterAddField(g_dbArray.ElementAt(i), _T("baseexpendtype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  847. sql = _T("if not exists(select name from sysobjects where name='msgtemp2') create table [msgtemp2]([name] nvarchar(50))");
  848. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  849. AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("content1"), _T("nvarchar(max)"));
  850. AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("content2"), _T("nvarchar(max)"));
  851. AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("check1"), _T("nvarchar(50)"));
  852. AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("check2"), _T("nvarchar(50)"));
  853. AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("point"), _T("nvarchar(50)"));
  854. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("sendmark1"), _T("nvarchar(max)"));
  855. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("sendmark2"), _T("nvarchar(max)"));
  856. sql = _T("if not exists(select name from sysobjects where name='bakstate') create table [bakstate]([date] nvarchar(50))");
  857. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  858. AlterAddField(g_dbArray.ElementAt(i), _T("bakstate"), _T("photo"), _T("nvarchar(50)"));
  859. AlterAddField(g_dbArray.ElementAt(i), _T("bakstate"), _T("info"), _T("nvarchar(50)"));
  860. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("name2"), _T("nvarchar(50)"));
  861. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("phone2"), _T("nvarchar(50)"));
  862. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("qq2"), _T("nvarchar(50)"));
  863. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("birthday"), _T("nvarchar(50)"));
  864. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("birthday2"), _T("nvarchar(50)"));
  865. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("time3"), _T("nvarchar(50)"));
  866. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("taoxiname"), _T("nvarchar(50)"));
  867. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("taoxijiage"), _T("nvarchar(50)"));
  868. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("check1"), _T("nvarchar(50)"));
  869. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("check2"), _T("nvarchar(50)"));
  870. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("check3"), _T("nvarchar(50)"));
  871. AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("pinyin2"), _T("nvarchar(50)"));
  872. sql = _T("if not exists(select name from sysobjects where name='dindansp2') create table [dindansp2]([id] nvarchar(50))");
  873. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  874. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("name"), _T("nvarchar(50)"));
  875. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("count"), _T("nvarchar(50)"));
  876. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("date"), _T("nvarchar(50)"));
  877. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("clerk"), _T("nvarchar(50)"));
  878. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck11"), _T("nvarchar(50)"));
  879. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck12"), _T("nvarchar(50)"));
  880. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setprintstyle3"), _T("nvarchar(50)"));
  881. sql = _T("if not exists(select name from sysobjects where name='framesize') create table [framesize]([name] nvarchar(50))");
  882. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  883. AlterAddField(g_dbArray.ElementAt(i), _T("framesize"), _T("width"), _T("nvarchar(50)"));
  884. AlterAddField(g_dbArray.ElementAt(i), _T("framesize"), _T("height"), _T("nvarchar(50)"));
  885. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("size"), _T("nvarchar(max)"));
  886. sql = _T("if not exists(select name from sysobjects where name='client3phonerecord') create table [client3phonerecord]([phone] nvarchar(50))");
  887. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  888. AlterAddField(g_dbArray.ElementAt(i), _T("client3phonerecord"), _T("datetime"), _T("nvarchar(50)"));
  889. sql = _T("if not exists(select name from sysobjects where name='client3phonerecordout') create table [client3phonerecordout]([phoneno] nvarchar(50))");
  890. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  891. AlterAddField(g_dbArray.ElementAt(i), _T("client3phonerecordout"), _T("datetime"), _T("nvarchar(50)"));
  892. AlterAddField(g_dbArray.ElementAt(i), _T("client3phonerecordout"), _T("name"), _T("nvarchar(50)"));
  893. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck7"), _T("nvarchar(50)"));
  894. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck8"), _T("nvarchar(50)"));
  895. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck9"), _T("nvarchar(50)"));
  896. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck10"), _T("nvarchar(50)"));
  897. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent8"), _T("nvarchar(max)"));
  898. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent9"), _T("nvarchar(max)"));
  899. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent10"), _T("nvarchar(max)"));
  900. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck13"), _T("nvarchar(50)"));
  901. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("time1"), _T("nvarchar(50)"));
  902. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("time2"), _T("nvarchar(50)"));
  903. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("time3"), _T("nvarchar(50)"));
  904. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck14"), _T("nvarchar(50)"));
  905. sql = _T("if not exists(select name from sysobjects where name='childmsg') create table [childmsg]([check] nvarchar(50))");
  906. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  907. AlterAddField(g_dbArray.ElementAt(i), _T("childmsg"), _T("days"), _T("nvarchar(50)"));
  908. AlterAddField(g_dbArray.ElementAt(i), _T("childmsg"), _T("content"), _T("nvarchar(max)"));
  909. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("birthday"), _T("nvarchar(50)"));
  910. AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("check1"), _T("nvarchar(50)"));
  911. sql = _T("if not exists(select name from sysobjects where name='todaytake') create table [todaytake]([name] nvarchar(50))");
  912. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  913. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("phone"), _T("nvarchar(50)"));
  914. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("date"), _T("nvarchar(50)"));
  915. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("time"), _T("nvarchar(50)"));
  916. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("type"), _T("nvarchar(50)"));
  917. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("price"), _T("nvarchar(50)"));
  918. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("waiter1"), _T("nvarchar(50)"));
  919. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("waiter2"), _T("nvarchar(50)"));
  920. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("receptionist"), _T("nvarchar(50)"));
  921. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("arrearage"), _T("nvarchar(50)"));
  922. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("clerk"), _T("nvarchar(50)"));
  923. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("remark"), _T("nvarchar(max)"));
  924. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("timestamp"), _T("nvarchar(50)"));
  925. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("content"), _T("nvarchar(50)"));
  926. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("mode"), _T("nvarchar(50)"));
  927. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("arrive"), _T("nvarchar(50)"));
  928. AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("id"), _T("nvarchar(50)"));
  929. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck15"), _T("nvarchar(50)"));
  930. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck11"), _T("nvarchar(50)"));
  931. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck12"), _T("nvarchar(50)"));
  932. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck13"), _T("nvarchar(50)"));
  933. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck14"), _T("nvarchar(50)"));
  934. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent11"), _T("nvarchar(max)"));
  935. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent12"), _T("nvarchar(max)"));
  936. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent13"), _T("nvarchar(max)"));
  937. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent14"), _T("nvarchar(max)"));
  938. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("dindantype"), _T("nvarchar(50)"));
  939. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("contractno1"), _T("nvarchar(50)"));
  940. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("contractno2"), _T("nvarchar(50)"));
  941. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("cfno"), _T("nvarchar(50)"));
  942. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("calldate"), _T("nvarchar(50)"));
  943. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("from"), _T("nvarchar(50)"));
  944. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("reason"), _T("nvarchar(50)"));
  945. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time7"), _T("nvarchar(50)"));
  946. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck15"), _T("nvarchar(50)"));
  947. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent15"), _T("nvarchar(max)"));
  948. sql = _T("if not exists(select name from sysobjects where name='dindansp3') create table [dindansp3]([id] nvarchar(50))");
  949. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  950. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp3"), _T("spid"), _T("nvarchar(50)"));
  951. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp3"), _T("name"), _T("nvarchar(50)"));
  952. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp3"), _T("count"), _T("nvarchar(50)"));
  953. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time8"), _T("nvarchar(50)"));
  954. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time9"), _T("nvarchar(50)"));
  955. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time10"), _T("nvarchar(50)"));
  956. sql = _T("if not exists(select name from sysobjects where name='log') create table [log]([date] nvarchar(50))");
  957. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  958. AlterAddField(g_dbArray.ElementAt(i), _T("log"), _T("datetime"), _T("nvarchar(50)"));
  959. AlterAddField(g_dbArray.ElementAt(i), _T("log"), _T("content"), _T("nvarchar(max)"));
  960. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("logdays"), _T("nvarchar(50)"));
  961. sql = _T("if not exists(select name from sysobjects where name='clientfrom') create table [clientfrom]([name] nvarchar(50))");
  962. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  963. AlterAddField(g_dbArray.ElementAt(i), _T("clientfrom"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  964. sql = _T("if not exists(select name from sysobjects where name='clientreason') create table [clientreason]([name] nvarchar(50))");
  965. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  966. AlterAddField(g_dbArray.ElementAt(i), _T("clientreason"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  967. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck17"), _T("nvarchar(50)"));
  968. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck18"), _T("nvarchar(50)"));
  969. AlterAddField(g_dbArray.ElementAt(i), _T("user"), _T("discount"), _T("nvarchar(50)"));
  970. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck19"), _T("nvarchar(50)"));
  971. sql = _T("if not exists(select name from sysobjects where name='jdd') create table [jdd]([name] nvarchar(50))");
  972. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  973. AlterAddField(g_dbArray.ElementAt(i), _T("jdd"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));;
  974. AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("jdd"), _T("nvarchar(50)"));
  975. AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time3"), _T("nvarchar(50)"));
  976. AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time4"), _T("nvarchar(50)"));
  977. AlterAddField(g_dbArray.ElementAt(i), _T("user"), _T("discount2"), _T("nvarchar(50)"));
  978. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("authorize"), _T("nvarchar(50)"));
  979. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("discount2"), _T("nvarchar(50)"));
  980. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("authorize2"), _T("nvarchar(50)"));
  981. sql = _T("alter table [user] ALTER COLUMN [rights] nvarchar(80)");
  982. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  983. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("status"), _T("nvarchar(50)"));
  984. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter12"), _T("nvarchar(50)"));
  985. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter22"), _T("nvarchar(50)"));
  986. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("bookingdate"), _T("nvarchar(50)"));
  987. sql = _T("if not exists(select name from sysobjects where name='dressarea') create table [dressarea]([name] nvarchar(50))");
  988. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  989. AlterAddField(g_dbArray.ElementAt(i), _T("dressarea"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  990. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("dressarea"), _T("nvarchar(50)"));
  991. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("date1"), _T("nvarchar(50)"));
  992. AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("date2"), _T("nvarchar(50)"));
  993. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("washcount"), _T("nvarchar(50)"));
  994. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("date1"), _T("nvarchar(50)"));
  995. AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("date2"), _T("nvarchar(50)"));
  996. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadrule"), _T("nvarchar(max)"));
  997. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck20"), _T("nvarchar(50)"));
  998. sql = _T("if not exists(select name from sysobjects where name='txlb2') create table [txlb2]([name] nvarchar(50))");
  999. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1000. AlterAddField(g_dbArray.ElementAt(i), _T("txlb2"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1001. AlterAddField(g_dbArray.ElementAt(i), _T("taoxi"), _T("type"), _T("nvarchar(50)"));
  1002. AlterAddField(g_dbArray.ElementAt(i), _T("taoxi"), _T("show"), _T("nvarchar(50)"));
  1003. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("dress"), _T("nvarchar(150)"));
  1004. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("bz"), _T("nvarchar(50)"));
  1005. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("cardnum"), _T("nvarchar(50)"));
  1006. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("cardscale"), _T("nvarchar(500)"));
  1007. sql = _T("if not exists(select name from sysobjects where name='sale2type') create table [sale2type]([name] nvarchar(50))");
  1008. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1009. AlterAddField(g_dbArray.ElementAt(i), _T("sale2type"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1010. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("phone"), _T("nvarchar(50)"));
  1011. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("payed"), _T("nvarchar(50)"));
  1012. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("balance"), _T("nvarchar(50)"));
  1013. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("pinyin"), _T("nvarchar(50)"));
  1014. sql = _T("if not exists(select name from sysobjects where name='singleincomemoney') create table [singleincomemoney]([id] nvarchar(50))");
  1015. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1016. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("money"), _T("nvarchar(50)"));
  1017. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("date"), _T("nvarchar(50)"));
  1018. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("clerk"), _T("nvarchar(50)"));
  1019. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("paytype"), _T("nvarchar(50)"));
  1020. if (i == 0)
  1021. {
  1022. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  1023. }
  1024. else
  1025. {
  1026. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("autoid"), _T("int"));
  1027. }
  1028. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("status5"), _T("nvarchar(50)"));
  1029. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("status6"), _T("nvarchar(50)"));
  1030. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date5"), _T("nvarchar(50)"));
  1031. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date6"), _T("nvarchar(50)"));
  1032. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name5"), _T("nvarchar(50)"));
  1033. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name6"), _T("nvarchar(50)"));
  1034. sql = _T("drop view [dindanspview]");
  1035. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1036. sql = _T("create view [dbo].[dindanspview] as select dbo.dindan.id, dbo.dindan.name1,dbo.dindan.name2, ");
  1037. sql += _T("dbo.dindan.status5,dbo.dindan.waiter4,dbo.dindan.urgent, dbo.dindan.time5, dbo.dindan.ren, dbo.dindan.phone1,");
  1038. sql += _T("dbo.dindan.phone2,dbo.dindan.pinyin1,dbo.dindan.pinyin2, dbo.dindan.taoxijiage, dbo.dindan.payed4, ");
  1039. sql += _T("dbo.dindan.payed5, dbo.dindan.money1,dbo.dindan.status3,dbo.dindan.dindantype, dbo.dindansp.name, ");
  1040. sql += _T("dbo.dindansp.status3 as status32,dbo.dindansp.status4, dbo.dindansp.status5 AS status52, dbo.dindansp.status6, ");
  1041. sql += _T("dbo.dindansp.status1,dbo.dindansp.status2, dbo.dindansp.urgent as urgent2, dbo.dindansp.date4, dbo.dindansp.kind ");
  1042. sql += _T("from dbo.dindan INNER JOIN dbo.dindansp ON dbo.dindan.id = dbo.dindansp.id");
  1043. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1044. sql = _T("drop view [dindanclient]");
  1045. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1046. sql = _T("create view [dbo].[dindanclient] as select dbo.dindan.id, dbo.client.id AS Expr1, dbo.client.name1, dbo.client.name2,");
  1047. sql += _T("dbo.client.phone1, dbo.client.phone2, dbo.client.birthday1, dbo.client.birthday2,");
  1048. sql += _T("dbo.client.check1, dbo.client.check2, dbo.client.check3, dbo.dindan.time3, dbo.dindan.time1,");
  1049. sql += _T("dbo.dindan.taoxiname, dbo.dindan.taoxijiage, dbo.dindan.payed4 ");
  1050. sql += _T("from dbo.dindan INNER JOIN dbo.client ON dbo.dindan.id = dbo.client.id");
  1051. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1052. sql = _T("drop view [hospitalview]");
  1053. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1054. sql = _T("create view [dbo].[hospitalview] as select dbo.hospitalclient.id, dbo.hospitalclient.name1, dbo.hospitalclient.name2, dbo.hospitalclient.sex,");
  1055. sql += _T("'birthdaytype' = CASE hospitalclient.birthdaytype WHEN '1' THEN '预产期' ELSE '宝宝生日' END,dbo.hospitalclient.birthday,");
  1056. sql += _T("dbo.hospitalclient.[from], dbo.hospitalclient.phone1, dbo.hospitalclient.phone2, dbo.hospitalclient.qq, dbo.hospitalclient.inputdate, ");
  1057. sql += _T("dbo.hospitalclient.inputer,dbo.hospitalclient.pinyin1, dbo.hospitalclient.pinyin2,dbo.hospitalclientcontactreg.businesstype, ");
  1058. sql += _T(" dbo.hospitalclientcontactreg.businessintention, dbo.hospitalclientcontactreg.bookingdate,dbo.hospitalclientcontactreg.desaddr, ");
  1059. sql += _T(" dbo.hospitalclientcontactreg.businessremark, dbo.hospitalclient.addr1, dbo.hospitalclient.addr2, dbo.hospitalclient.addr3,");
  1060. sql += _T("dbo.hospitalclient.type, dbo.hospitalclient.hospital, dbo.hospitalclient.clerk, dbo.hospitalclientcontactreg.alarmcheck,");
  1061. sql += _T("dbo.hospitalclientcontactreg.alarmdate from dbo.hospitalclient LEFT OUTER JOIN ");
  1062. sql += _T("dbo.hospitalclientcontactreg ON dbo.hospitalclient.id = dbo.hospitalclientcontactreg.id");
  1063. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1064. sql = _T("drop view [dindanbukuanview]");
  1065. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1066. sql = _T("create view [dbo].[dindanbukuanview] as select dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.txtype, dbo.dindan.taoxiname,");
  1067. sql += _T("dbo.dindanbukuan.money, dbo.dindanbukuan.date, dbo.dindanbukuan.kind, dbo.dindanbukuan.ren,dbo.dindanbukuan.bz, dbo.dindanbukuan.id,");
  1068. sql += _T("dbo.dindanbukuan.paytype from dbo.dindan INNER JOIN dbo.dindanbukuan ON dbo.dindan.id = dbo.dindanbukuan.id");
  1069. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1070. sql = _T("drop view [msgview]");
  1071. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1072. sql = _T("create view [dbo].[msgview] as select dbo.sendregreceive.phones, dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.sendregreceive.[content],");
  1073. sql += _T("dbo.sendregreceive.timestamp, dbo.dindan.time1,dbo.dindan.ren, dbo.dindan.waiter1, dbo.dindan.waiter2, dbo.dindan.waiter4,dbo.dindan.waiter5, ");
  1074. sql += _T("dbo.dindan.waiter7, dbo.dindan.waiter3 from dbo.sendregreceive LEFT JOIN ");
  1075. sql += _T("dbo.dindan ON dbo.sendregreceive.phones = dbo.dindan.phone1 OR dbo.sendregreceive.phones = dbo.dindan.phone2");
  1076. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1077. sql = _T("alter table [dindansp] alter column [kind] nvarchar(10)");
  1078. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1079. AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("financecheck"), _T("nvarchar(10)"));
  1080. AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("financecheck"), _T("nvarchar(10)"));
  1081. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("financecheck"), _T("nvarchar(10)"));
  1082. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("financecheck"), _T("nvarchar(10)"));
  1083. AlterAddField(g_dbArray.ElementAt(i), _T("shangpin"), _T("hide"), _T("nvarchar(10)"));
  1084. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("growthtxname"), _T("nvarchar(50)"));
  1085. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info7"), _T("nvarchar(120)"),_T("nvarchar(120)"));
  1086. #if 1
  1087. // 1.删除索引;
  1088. sql = _T("IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[taoxi]') AND name = N'id') DROP INDEX [id] ON [dbo].[taoxi] WITH ( ONLINE = OFF )");
  1089. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1090. sql = _T("IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[taoxi]') AND name = N'PrimaryKey') DROP INDEX [PrimaryKey] ON [dbo].[taoxi] WITH ( ONLINE = OFF )");
  1091. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1092. // 2.修改类型;
  1093. sql = _T("alter table [taoxi] alter column [taoxiid] nvarchar(50)");
  1094. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1095. // 3.重建索引;
  1096. sql = _T("create unique nonclustered index [PrimaryKey] ON [dbo].[taoxi](taoxiid)");
  1097. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1098. sql = _T("create unique nonclustered index [id] ON [dbo].[taoxi](taoxiid)");
  1099. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1100. #else
  1101. sql = _T("alter table [taoxi] ALTER COLUMN [taoxiid] nvarchar(50) not null");
  1102. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1103. #endif
  1104. sql = _T("alter table [taoxi] ALTER COLUMN [zs] nvarchar(50)");
  1105. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1106. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck21"), _T("nvarchar(50)"));
  1107. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck16"), _T("nvarchar(50)"));
  1108. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("psw"), _T("nvarchar(50)"));
  1109. AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("psw"), _T("nvarchar(50)"));
  1110. sql = _T("if not exists(select name from sysobjects where name='hospitalclient') create table [hospitalclient]([id] nvarchar(50))");
  1111. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1112. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("checkmsg"), _T("nvarchar(50)"));
  1113. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("name1"), _T("nvarchar(50)"));
  1114. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("name2"), _T("nvarchar(50)"));
  1115. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("food"), _T("nvarchar(50)"));
  1116. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("sex"), _T("nvarchar(50)"));
  1117. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("check1"), _T("nvarchar(50)"));
  1118. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("birthdaytype"), _T("nvarchar(50)"));
  1119. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("birthday"), _T("nvarchar(50)"));
  1120. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("pregnancydays"), _T("nvarchar(50)"));
  1121. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("qq"), _T("nvarchar(50)"));
  1122. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("date1"), _T("nvarchar(50)"));
  1123. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("from"), _T("nvarchar(50)"));
  1124. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("clerk"), _T("nvarchar(50)"));
  1125. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("type"), _T("nvarchar(50)"));
  1126. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("hospital"), _T("nvarchar(50)"));
  1127. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("remark"), _T("nvarchar(50)"));
  1128. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone1"), _T("nvarchar(50)"));
  1129. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone2"), _T("nvarchar(50)"));
  1130. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone3"), _T("nvarchar(50)"));
  1131. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone4"), _T("nvarchar(50)"));
  1132. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone5"), _T("nvarchar(50)"));
  1133. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("addr1"), _T("nvarchar(50)"));
  1134. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("addr2"), _T("nvarchar(50)"));
  1135. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("addr3"), _T("nvarchar(50)"));
  1136. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("post1"), _T("nvarchar(50)"));
  1137. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("post2"), _T("nvarchar(50)"));
  1138. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("post3"), _T("nvarchar(50)"));
  1139. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("pinyin1"), _T("nvarchar(50)"));
  1140. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("pinyin2"), _T("nvarchar(50)"));
  1141. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("inputdate"), _T("nvarchar(50)"));
  1142. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("inputer"), _T("nvarchar(50)"));
  1143. sql = _T("if not exists(select name from sysobjects where name='businesstype') create table [businesstype]([name] nvarchar(50))");
  1144. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1145. AlterAddField(g_dbArray.ElementAt(i), _T("businesstype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1146. sql = _T("if not exists(select name from sysobjects where name='businessintention') create table [businessintention]([name] nvarchar(50))");
  1147. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1148. AlterAddField(g_dbArray.ElementAt(i), _T("businessintention"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1149. sql = _T("if not exists(select name from sysobjects where name='clienttype') create table [clienttype]([name] nvarchar(50))");
  1150. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1151. AlterAddField(g_dbArray.ElementAt(i), _T("clienttype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1152. sql = _T("if not exists(select name from sysobjects where name='hospital') create table [hospital]([name] nvarchar(50))");
  1153. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1154. AlterAddField(g_dbArray.ElementAt(i), _T("hospital"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1155. sql = _T("if not exists(select name from sysobjects where name='hospitalclientcontactreg') create table [hospitalclientcontactreg]([id] nvarchar(50))");
  1156. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1157. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  1158. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("businesstype"), _T("nvarchar(50)"));
  1159. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("businessintention"), _T("nvarchar(50)"));
  1160. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("bookingdate"), _T("nvarchar(50)"));
  1161. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("desaddr"), _T("nvarchar(50)"));
  1162. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("businessremark"), _T("nvarchar(50)"));
  1163. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("alarmcheck"), _T("nvarchar(50)"));
  1164. AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("alarmdate"), _T("nvarchar(50)"));
  1165. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("hospitalmsgcheck1"), _T("nvarchar(50)"));
  1166. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("hospitalmsgcheck2"), _T("nvarchar(50)"));
  1167. AlterAddField(g_dbArray.ElementAt(i), _T("childmsg"), _T("mode"), _T("nvarchar(50)"));
  1168. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("serialno"), _T("nvarchar(50)"));
  1169. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("serialno2"), _T("nvarchar(50)"));
  1170. sql = _T("if not exists(select name from sysobjects where name='sendregdelay') create table [sendregdelay]([timestamp] nvarchar(50))");
  1171. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1172. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("msgcount"), _T("nvarchar(50)"));
  1173. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("log"), _T("nvarchar(50)"));
  1174. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("status"), _T("nvarchar(50)"));
  1175. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("issended"), _T("nvarchar(50)"));
  1176. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("isautosend"), _T("nvarchar(50)"));
  1177. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("phones"), _T("nvarchar(max)"));
  1178. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("content"), _T("nvarchar(max)"));
  1179. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL"));
  1180. AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("ren"), _T("nvarchar(50)"));
  1181. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("photo"), _T("image"));
  1182. sql = _T("if not exists(select name from sysobjects where name='fixedassets') create table [fixedassets]([name] nvarchar(50))");
  1183. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1184. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1185. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("count"), _T("nvarchar(50)"));
  1186. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("type"), _T("nvarchar(50)"));
  1187. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("clerk"), _T("nvarchar(50)"));
  1188. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("remark"), _T("nvarchar(50)"));
  1189. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("date"), _T("nvarchar(50)"));
  1190. AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("photo"), _T("image"));
  1191. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("bz4"), _T("nvarchar(max)"));
  1192. sql = _T("alter table [dindan] alter column [bz4] nvarchar(max)");
  1193. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1194. AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("getid"), _T("nvarchar(50)"));
  1195. AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1196. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction1"), _T("int"));
  1197. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction2"), _T("int"));
  1198. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction3"), _T("int"));
  1199. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction4"), _T("int"));
  1200. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction5"), _T("int"));
  1201. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction6"), _T("int"));
  1202. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction7"), _T("int"));
  1203. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("bz5"), _T("nvarchar(max)"));
  1204. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send4"), _T("int"));
  1205. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send5"), _T("int"));
  1206. sql = _T("if not exists(select name from sysobjects where name='msgcode') create table [msgcode]([type] nvarchar(50))");
  1207. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1208. AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("code"), _T("nvarchar(50)"));
  1209. AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("good"), _T("nvarchar(50)"));
  1210. AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("medium"), _T("nvarchar(50)"));
  1211. AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("bad"), _T("nvarchar(50)"));
  1212. sql = _T("if not exists(select name from sysobjects where name='clientqequirement') create table [clientqequirement]([name] nvarchar(50))");
  1213. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1214. AlterAddField(g_dbArray.ElementAt(i), _T("clientqequirement"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));
  1215. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("cardtype"), _T("nvarchar(50)"));
  1216. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("check1"), _T("nvarchar(50)"));
  1217. AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("discount"), _T("nvarchar(50)"));
  1218. AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("discount"), _T("nvarchar(50)"));
  1219. sql = _T("alter table [dindansp] ALTER COLUMN [shuliang] nvarchar(120)");
  1220. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1221. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("financecheck"), _T("nvarchar(50)"));
  1222. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("moneytype"), _T("nvarchar(50)"));
  1223. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("time"), _T("nvarchar(50)"));
  1224. sql = _T("drop view [memberview]");
  1225. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1226. sql = _T("create view [dbo].[memberview] as select dbo.membermanage.name, dbo.memberreg3.memberno, dbo.memberreg3.money, dbo.memberreg3.date,");
  1227. sql += _T("dbo.memberreg3.clerk, dbo.memberreg3.id, dbo.memberreg3.financecheck, dbo.memberreg3.moneytype, dbo.memberreg3.time ");
  1228. sql += _T("from dbo.memberreg3 INNER JOIN dbo.membermanage ON dbo.memberreg3.memberno = dbo.membermanage.memberno");
  1229. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1230. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("count"), _T("nvarchar(50)"));
  1231. AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("time"), _T("nvarchar(50)"));
  1232. AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("time"), _T("nvarchar(50)"));
  1233. AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("time"), _T("nvarchar(50)"));
  1234. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("time"), _T("nvarchar(50)"));
  1235. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck17"), _T("nvarchar(50)"));
  1236. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent17"), _T("nvarchar(max)"));
  1237. AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("jdd"), _T("nvarchar(50)"));
  1238. sql = _T("alter table [insidemsg] ALTER COLUMN [file] nvarchar(max)");
  1239. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1240. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("ps"), _T("nvarchar(50)"));
  1241. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("zs"), _T("nvarchar(50)"));
  1242. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck22"), _T("nvarchar(50)"));
  1243. AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("money2"), _T("nvarchar(50)"));
  1244. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck23"), _T("nvarchar(50)"));
  1245. AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("type2"), _T("nvarchar(50)"));
  1246. AlterAddField(g_dbArray.ElementAt(i), _T("dresstype"), _T("type"), _T("nvarchar(50)"));
  1247. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info8"), _T("nvarchar(120)"),_T("nvarchar(120)"));
  1248. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("clerk"), _T("nvarchar(120)"));
  1249. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("ren1"), _T("nvarchar(120)"));
  1250. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("ren2"), _T("nvarchar(120)"));
  1251. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter9"), _T("nvarchar(120)"));
  1252. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck24"), _T("nvarchar(120)"));
  1253. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("outtime"), _T("nvarchar(120)"));
  1254. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info9"), _T("nvarchar(120)"),_T("nvarchar(120)"));
  1255. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse1"), _T("nvarchar(50)"));
  1256. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse2"), _T("nvarchar(50)"));
  1257. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse3"), _T("nvarchar(50)"));
  1258. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse4"), _T("nvarchar(50)"));
  1259. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse5"), _T("nvarchar(50)"));
  1260. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("inputtime"), _T("nvarchar(50)"));
  1261. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("photo"), _T("image"));
  1262. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck1"), _T("nvarchar(50)"));
  1263. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck2"), _T("nvarchar(50)"));
  1264. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck3"), _T("nvarchar(50)"));
  1265. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck4"), _T("nvarchar(50)"));
  1266. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit1"), _T("nvarchar(50)"));
  1267. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit2"), _T("nvarchar(50)"));
  1268. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit3"), _T("nvarchar(50)"));
  1269. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit4"), _T("nvarchar(50)"));
  1270. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("hqstatus"), _T("nvarchar(50)"));
  1271. AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("bz"), _T("nvarchar(200)"));
  1272. sql = _T("alter table [dindanbukuan2] ALTER COLUMN [bz] nvarchar(500)");
  1273. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1274. AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("files"), _T("image"));
  1275. AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("photo"), _T("image"));
  1276. AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("financecheck2"), _T("nvarchar(50)"));
  1277. AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("financecheck3"), _T("nvarchar(50)"));
  1278. AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("hasphoto"), _T("nvarchar(50)"));
  1279. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays1"), _T("nvarchar(50)"));
  1280. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays2"), _T("nvarchar(50)"));
  1281. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays3"), _T("nvarchar(50)"));
  1282. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays4"), _T("nvarchar(50)"));
  1283. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays5"), _T("nvarchar(50)"));
  1284. AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays6"), _T("nvarchar(50)"));
  1285. AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("branch"), _T("nvarchar(50)"));
  1286. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("curno"), _T("nvarchar(50)"));
  1287. #ifdef LYFZ_VERSION // 公司内部升级内容(可不用,升级已定型);
  1288. sql = _T("alter table [client] add [photo] image");
  1289. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1290. sql = _T("create table [clientcontract]([id] nvarchar(50))");
  1291. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1292. sql = _T("alter table [clientcontract] add [date] nvarchar(50)");
  1293. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1294. sql = _T("alter table [clientcontract] add [photo] image");
  1295. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1296. sql = _T("create table [annualfee]([id] nvarchar(50))");
  1297. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1298. sql = _T("alter table [annualfee] add [year] nvarchar(50)");
  1299. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1300. sql = _T("alter table [annualfee] add [date] nvarchar(50)");
  1301. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1302. sql = _T("alter table [annualfee] add [clerk] nvarchar(50)");
  1303. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1304. sql = _T("alter table [client2] add [area] nvarchar(50)");
  1305. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1306. sql = _T("alter table [client2] add [name2] nvarchar(50)");
  1307. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1308. sql = _T("alter table [client2] add [status] nvarchar(50)");
  1309. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1310. sql = _T("alter table [client2] add [pinyin2] nvarchar(50)");
  1311. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1312. sql = _T("drop view [annualfeeview]");
  1313. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1314. sql = _T("CREATE VIEW [dbo].[annualfeeview] \
  1315. AS \
  1316. SELECT dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.time1, dbo.dindan.time2, dbo.dindan.ren, dbo.dindan.phone1, dbo.dindan.phone2, dbo.dindan.pinyin1, \
  1317. dbo.dindan.pinyin2, dbo.annualfee.year, dbo.annualfee.date, dbo.annualfee.clerk, dbo.dindan.id, dbo.dindan.bz, dbo.dindan.status5 \
  1318. FROM dbo.dindan LEFT OUTER JOIN \
  1319. dbo.annualfee ON dbo.dindan.id = dbo.annualfee.id");
  1320. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1321. #endif
  1322. #if 1 // Jeff add:dindan添加两字段
  1323. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("xplrr"), _T("nvarchar(50)"));
  1324. AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("xplrtime"), _T("nvarchar(50)"));
  1325. #endif
  1326. AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("level"), _T("nvarchar(50)"));
  1327. /////////////////////////////////////////////////////////////////// takeview
  1328. sql = _T("drop view [alarmview]");
  1329. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1330. #if 0 // Jeff使用新的视图,添加"拍照时间"、"选片时间"
  1331. sql = _T("CREATE VIEW [dbo].[alarmview] \
  1332. AS \
  1333. SELECT dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2,dbo.dindan.ren,dbo.dindan.time1,dbo.dindan.status,dbo.dindan.status2,dbo.dindan.status8,dbo.dindan.phone1,dbo.dindan.phone2,dbo.dindan.pinyin1,dbo.dindan.pinyin2,\
  1334. (SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status1 = '未完成') AND (id = dbo.dindan.id)) AS cot1,\
  1335. (SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status2 = '未取') AND (id = dbo.dindan.id)) AS cot2 \
  1336. FROM dbo.dindan");
  1337. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1338. #else
  1339. sql = _T("create view [dbo].[alarmview] as select dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2,dbo.dindan.ren,dbo.dindan.time1,dindan.time2,dindan.time4,");
  1340. sql += _T("dbo.dindan.status,dbo.dindan.status2,dbo.dindan.status8,dbo.dindan.phone1,dbo.dindan.phone2,dbo.dindan.pinyin1,dbo.dindan.pinyin2,");
  1341. sql += _T("(SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status1 = '未完成') AND (id = dbo.dindan.id)) AS cot1,");
  1342. sql += _T("(SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status2 = '未取') AND (id = dbo.dindan.id)) AS cot2 ");
  1343. sql += _T("FROM dbo.dindan");
  1344. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1345. #endif
  1346. sql = _T("drop view [accountview]");
  1347. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1348. sql = _T("create view [dbo].[accountview] as select dbo.[user].account, dbo.[user].name, dbo.[user].psw, dbo.[user].rights, dbo.[user].rate1, dbo.[user].rate2,");
  1349. sql += _T("dbo.[user].base, dbo.[user].bz, dbo.[user].rights2,dbo.[user].discount, dbo.[user].discount2, dbo.renyuan.dimission, dbo.renyuan.[level],dbo.renyuan.bm ");
  1350. sql += _T("from dbo.[user] LEFT OUTER JOIN dbo.renyuan ON dbo.[user].name = dbo.renyuan.name");
  1351. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1352. sql = _T("drop view [dindanspview3]");
  1353. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1354. sql = _T("create view [dbo].[dindanspview3] as select dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.ren, dbo.dindan.taoxijiage, dbo.dindan.payed4,");
  1355. sql += _T(" dbo.dindansp.name, dbo.dindansp.shuliang,dbo.dindan.time1 from dbo.dindan INNER JOIN dbo.dindansp ON dbo.dindan.id = dbo.dindansp.id");
  1356. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1357. sql = _T("drop view [dindanspview4]");
  1358. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1359. sql = _T("create view [dbo].[dindanspview4] as select dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.ren, dbo.dindan.taoxijiage, dbo.dindan.payed4,");
  1360. sql += _T("dbo.dindanbukuan2.bz AS name, 1 AS shuliang,dbo.dindan.time1 from dbo.dindan INNER JOIN dbo.dindanbukuan2 ON dbo.dindan.id = dbo.dindanbukuan2.id");
  1361. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1362. sql = _T("drop view [hqview]");
  1363. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1364. sql = _T("create view [dbo].[hqview] as select dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.phone1, dbo.dindan.phone2,dbo.dindan.time3,");
  1365. sql += _T(" dbo.client.check3, dbo.dindan.ren,dbo.dindan.taoxiname, dbo.dindan.taoxijiage, dbo.dindansp.name, dbo.dindansp.hqdate,dbo.dindansp.hqtime,");
  1366. sql += _T("dbo.dindansp.ren1, dbo.dindansp.ren2, dbo.dindansp.kind,dbo.dindansp.hqstatus,dbo.dindansp.bz from dbo.dindan INNER JOIN ");
  1367. sql += _T("dbo.client ON dbo.dindan.id = dbo.client.id INNER JOIN dbo.dindansp ON dbo.client.id = dbo.dindansp.id");
  1368. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1369. sql = _T("drop view [dindanspview2]");
  1370. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1371. sql = _T("create view [dbo].[dindanspview2] as select dbo.shangpin.splb, dbo.dindansp.id, dbo.dindansp.spid, dbo.dindansp.shuliang, dbo.dindansp.kind, ");
  1372. sql += _T("dbo.dindansp.price, dbo.dindansp.name, dbo.dindansp.no,dbo.dindansp.status1, dbo.dindansp.status2, dbo.dindansp.status3, dbo.dindansp.status4,");
  1373. sql += _T("dbo.dindansp.autoid, dbo.dindansp.date1, dbo.dindansp.date2,dbo.dindansp.date3, dbo.dindansp.date4, dbo.dindansp.name1,dbo.dindansp.name2,");
  1374. sql += _T("dbo.dindansp.name3, dbo.dindansp.name4, dbo.dindansp.hqdate,dbo.dindansp.hqtime, dbo.dindansp.urgent, dbo.dindansp.taketime, dbo.dindansp.no2,");
  1375. sql += _T("dbo.dindansp.status5, dbo.dindansp.status6, dbo.dindansp.date5,dbo.dindansp.date6, dbo.dindansp.name5, dbo.dindansp.name6,dbo.dindansp.growthtxname,");
  1376. sql += _T("dbo.dindansp.ps, dbo.dindansp.zs, dbo.dindansp.ren1,dbo.dindansp.ren2 from dbo.dindansp LEFT OUTER JOIN ");
  1377. sql += _T(" dbo.shangpin ON dbo.dindansp.spid = dbo.shangpin.spid");
  1378. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1379. sql = _T("drop view [takeview]");
  1380. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1381. sql = _T("create view [dbo].[takeview] as select dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.ren, dbo.dindan.taoxiname, dbo.dindan.taoxijiage, dbo.dindan.phone1,");
  1382. sql += _T("dbo.dindan.phone2, dbo.dindan.curno, dbo.dindan.pinyin1,dbo.dindan.pinyin2, dbo.dindan.time3, dbo.dindan.time5, dbo.dindan.dindantype, dbo.dindanjd.id,");
  1383. sql += _T("dbo.dindanjd.name, dbo.dindanjd.date, dbo.dindanjd.time,dbo.dindanjd.waiter1, dbo.dindanjd.waiter2, dbo.dindanjd.status, dbo.dindanjd.waiter12,");
  1384. sql += _T("dbo.dindanjd.waiter22, dbo.dindanjd.bookingdate, dbo.dindanjd.dress,dbo.dindanjd.bz, dbo.dindanjd.clerk, dbo.dindanjd.inputtime, dbo.dindanjd.branch,");
  1385. sql += _T("dbo.dindan.status3, dbo.dindan.payed4, dbo.dindan.payed5, dbo.dindan.money1, dbo.client.birthday1, dbo.client.check1, dbo.client.sex ");
  1386. sql += _T("from dbo.dindan INNER JOIN dbo.dindanjd ON dbo.dindan.id = dbo.dindanjd.id INNER JOIN dbo.client ON dbo.dindan.id = dbo.client.id");
  1387. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1388. sql = _T("drop view [dindanview]");
  1389. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1390. sql = _T("create view [dbo].[dindanview] as select *,");
  1391. sql += _T("(SELECT (case when exists(SELECT id FROM dbo.dindansp WHERE id = dbo.dindan.id and kind<>'5' and name<>'入册' and");
  1392. sql += _T(" name<>'入底' and status1<>'OK') then '未完成' else 'OK' end)) AS STA from dbo.dindan");
  1393. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1394. sql = _T("drop view [digitalview]");
  1395. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1396. sql = _T("CREATE VIEW [dbo].[digitalview] \
  1397. AS \
  1398. SELECT id, name1, name2, taoxiname, taoxijiage, waiter5, time8, waiter7, time9, waiter4, time10, status4, status6, status5, txtype,\
  1399. (SELECT SUM(CAST(money AS float)) AS Expr1 \
  1400. FROM dbo.dindanbukuan \
  1401. WHERE (bz = '选片二销') AND (id = dbo.dindan.id)) AS money2,\
  1402. (SELECT SUM(CONVERT(float, ps)) AS Expr2 \
  1403. FROM dbo.dindansp \
  1404. WHERE (id = dbo.dindan.id)) AS ps,\
  1405. (SELECT SUM(CONVERT(float, zs)) AS Expr3 \
  1406. FROM dbo.dindansp AS dindansp_1 \
  1407. WHERE (id = dbo.dindan.id)) AS zs \
  1408. FROM dbo.dindan");
  1409. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1410. sql = _T("drop view [dressview]");
  1411. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1412. sql = _T("create view [dbo].[dressview] as select dbo.dressinfo.no, dbo.dressinfo.name, dbo.dressinfo.count, dbo.dressinfo.salecount,");
  1413. sql += _T("dbo.dresshiredata.count AS count2, dbo.dresshiredata.isreturn,dbo.dresshiredata.hireorsale, dbo.dresshiredata.date1, dbo.dresshiredata.date2,");
  1414. sql += _T("dbo.dresshire.name AS clientname, dbo.dresshire.phone, dbo.dresshire.clerk,dbo.dresshire.date from dbo.dresshire INNER JOIN ");
  1415. sql += _T("dbo.dresshiredata ON dbo.dresshire.id = dbo.dresshiredata.id RIGHT OUTER JOIN dbo.dressinfo ON dbo.dresshiredata.no = dbo.dressinfo.no");
  1416. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1417. sql = _T("drop view [photoprintview]");
  1418. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1419. #if 0 // Jeff delete.for ddf;
  1420. sql = _T("CREATE VIEW [dbo].[photoprintview] \
  1421. AS \
  1422. SELECT dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.photoprint.name, dbo.photoprint.count, dbo.photoprint.status1, dbo.photoprint.status2, dbo.photoprint.time1, \
  1423. dbo.photoprint.time2, dbo.photoprint.area, dbo.dindan.status5, dbo.dindan.urgent, dbo.dindan.time5, dbo.dindan.phone1, dbo.dindan.phone2, dbo.dindan.pinyin1, \
  1424. dbo.dindan.pinyin2, dbo.dindan.status3, dbo.dindan.dindantype \
  1425. FROM dbo.dindan LEFT OUTER JOIN \
  1426. dbo.photoprint ON dbo.dindan.id = dbo.photoprint.id");
  1427. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1428. #else
  1429. // Jeff add by ddf at 2014.08.02;相片冲印视图添加接单人、设计师两项;
  1430. // Jeff: 2014.09.01,添加返工及返工日期;
  1431. sql = _T("create view [dbo].[photoprintview] AS SELECT dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.ren, dbo.dindan.waiter4, ");
  1432. sql += _T("dbo.photoprint.name, dbo.photoprint.count, dbo.photoprint.status1, dbo.photoprint.status2, dbo.photoprint.time1, ");
  1433. sql += _T("dbo.photoprint.time2, dbo.photoprint.statusOfReWork,dbo.photoprint.timeOfReWork,dbo.photoprint.area, dbo.dindan.status5, dbo.dindan.urgent, dbo.dindan.time5, ");
  1434. sql += _T("dbo.dindan.phone1, dbo.dindan.phone2, dbo.dindan.pinyin1, dbo.dindan.pinyin2, dbo.dindan.status3, dbo.dindan.dindantype ");
  1435. sql += _T("FROM dbo.dindan LEFT OUTER JOIN dbo.photoprint ON dbo.dindan.id = dbo.photoprint.id");
  1436. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1437. #endif
  1438. sql = _T("drop view [singleincomemoneyview]");
  1439. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1440. sql = _T("create view [dbo].[singleincomemoneyview] as select dbo.singleincomemoney.*, dbo.singleincome.name, dbo.singleincome.sale2type,");
  1441. sql += _T("dbo.singleincome.renyuan3, dbo.singleincome.renyuan1 ");
  1442. sql += _T("from dbo.singleincomemoney INNER JOIN dbo.singleincome ON dbo.singleincomemoney.id = dbo.singleincome.id");
  1443. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1444. sql = _T("drop view [dindanbukuanview2]");
  1445. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1446. sql = _T("create view [dbo].[dindanbukuanview2] as select dbo.dindan.name1, dbo.dindan.name2, dbo.dindanbukuan.autoid, dbo.dindanbukuan.id,");
  1447. sql += _T("dbo.dindanbukuan.money, dbo.dindanbukuan.ren, dbo.dindanbukuan.date, dbo.dindanbukuan.bz, dbo.dindanbukuan.kind,");
  1448. sql += _T("dbo.dindanbukuan.ren2, dbo.dindanbukuan.item, dbo.dindanbukuan.paytype, dbo.dindanbukuan.jdd, dbo.dindanbukuan.financecheck,");
  1449. sql += _T("dbo.dindanbukuan.discount, dbo.dindanbukuan.time ");
  1450. sql += _T("from dbo.dindanbukuan INNER JOIN dbo.dindan ON dbo.dindanbukuan.id = dbo.dindan.id");
  1451. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1452. sql = _T("drop view [qjview]");
  1453. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1454. sql = _T("create view [dbo].[qjview] as select dbo.dindan.id, dbo.dindan.name2, dbo.dindan.name1, dbo.dindansp.name,");
  1455. sql += _T("dbo.dindansp.shuliang, dbo.dindansp.status4, dbo.dindansp.date2, dbo.dindansp.status1,dbo.dindansp.date3, dbo.dindansp.status3 ");
  1456. sql += _T("from dbo.dindan INNER JOIN dbo.dindansp ON dbo.dindan.id = dbo.dindansp.id");
  1457. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1458. sql = _T("drop view [memberview2]");
  1459. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1460. sql = _T("create view [dbo].[memberview2] as select dbo.membermanage.memberno, dbo.membermanage.name, dbo.membermanage.date,");
  1461. sql += _T("dbo.membermanage.money, dbo.membermanage.autoid,dbo.membermanage.sex, dbo.membermanage.phone, dbo.membermanage.qq,");
  1462. sql += _T("dbo.membermanage.addr, dbo.membermanage.occupation,dbo.membermanage.birthday, dbo.membermanage.pinyin, dbo.membermanage.balance,");
  1463. sql += _T("dbo.membermanage.sendmark1, dbo.membermanage.sendmark2,dbo.membermanage.psw, dbo.membermanage.cardtype,dbo.membermanage.check1,");
  1464. sql += _T("dbo.membermanage.discount, dbo.membercard2.card2no,dbo.membercard2.date AS card2date ");
  1465. sql += _T("from dbo.membermanage LEFT OUTER JOIN dbo.membercard2 ON dbo.membermanage.memberno = dbo.membercard2.memberno");
  1466. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1467. sql = _T("drop view [memberview3]");
  1468. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1469. sql = _T("create view [dbo].[memberview3] as select dbo.membermanage.memberno, dbo.membermanage.name, dbo.membermanage.date,");
  1470. sql += _T("dbo.membermanage.money, dbo.membermanage.autoid,dbo.membermanage.sex, dbo.membermanage.phone, dbo.membermanage.qq,");
  1471. sql += _T("dbo.membermanage.addr, dbo.membermanage.occupation,dbo.membermanage.birthday, dbo.membermanage.pinyin, dbo.membermanage.balance,");
  1472. sql += _T("dbo.membermanage.sendmark1, dbo.membermanage.sendmark2,dbo.membermanage.psw, dbo.membermanage.cardtype,");
  1473. sql += _T("dbo.membermanage.check1, dbo.membermanage.discount, dbo.memberreg.card2no, dbo.memberreg.date2,dbo.memberreg.dindanid, dbo.memberreg.taoxi,");
  1474. sql += _T("dbo.memberreg.money AS card2money, dbo.memberreg.date as card2date, dbo.memberreg.type ");
  1475. sql += _T("from dbo.membermanage LEFT OUTER JOIN dbo.memberreg ON dbo.membermanage.memberno = dbo.memberreg.memberno");
  1476. ExecuteSQL(g_dbArray.ElementAt(i), sql);
  1477. #if JEFF_DELETE_ON
  1478. CDatabase *pCurdb = g_dbArray.ElementAt(i);
  1479. CStringArray idarray;
  1480. CStringArray idarray2;
  1481. try
  1482. {
  1483. CRecordset myset(pCurdb);
  1484. sql = _T("select id from dindan");
  1485. myset.Open(CRecordset::forwardOnly, sql);
  1486. while (!myset.IsEOF())
  1487. {
  1488. myset.GetFieldValue(_T("id"), sql);
  1489. idarray.Add(sql);
  1490. myset.MoveNext();
  1491. }
  1492. myset.Close();
  1493. sql = _T("select distinct(id) from dindanjd");
  1494. myset.Open(CRecordset::forwardOnly, sql);
  1495. while (!myset.IsEOF())
  1496. {
  1497. myset.GetFieldValue(_T("id"), sql);
  1498. idarray2.Add(sql);
  1499. myset.MoveNext();
  1500. }
  1501. myset.Close();
  1502. }
  1503. catch (CDBException* e)
  1504. {
  1505. #ifdef USE_CONSOLE
  1506. AfxMessageBox(e->m_strError);
  1507. #else
  1508. _tprintf(_T("%s\n"), e->m_strError);
  1509. #endif
  1510. e->Delete();
  1511. }
  1512. for (int i = 0; i < idarray.GetSize(); i++)
  1513. {
  1514. if (::FindArray(&idarray2, idarray.ElementAt(i)) == -1)
  1515. {
  1516. sql = _T("insert into dindanjd(id,name,status) values('") + idarray.ElementAt(i) + _T("', '系统默认景点', '未拍')");
  1517. pCurdb->ExecuteSQL(sql);
  1518. }
  1519. }
  1520. sql = _T("update dindanjd set status='OK' where id in(select id from dindan where status='OK')");
  1521. pCurdb->ExecuteSQL(sql);
  1522. #endif
  1523. }
  1524. // ----------------------------------------------------------------------------------------------------------------
  1525. try
  1526. {
  1527. sql.Format(_T("update [version] set version='%d%d'"), g_arrFileVersion[2], g_arrFileVersion[3]);
  1528. g_db.ExecuteSQL(sql);//financecheck
  1529. sql = _T("update childmsg set mode='0' where mode is null");
  1530. g_db.ExecuteSQL(sql);
  1531. //sql= _T("update [db].[dbo].[membermanage] set [cardtype]='普通卡' where [cardtype] is null");//Jeff.deal;
  1532. sql = _T("update [dbo].[membermanage] set [cardtype]='普通卡' where [cardtype] is null");//Jeff.deal;
  1533. g_db.ExecuteSQL(sql);
  1534. sql = _T("update taoxi set type='默认类别' where type is null");
  1535. g_db.ExecuteSQL(sql);
  1536. sql = _T("update taoxi set show='显示' where show is null");
  1537. g_db.ExecuteSQL(sql);
  1538. sql = _T("update renyuan set dimission='在职' where dimission<>'离职'");
  1539. g_db.ExecuteSQL(sql);
  1540. sql = _T("update dindan set status8='未看' where status8<>'OK' and status8<>'修改中'");
  1541. g_db.ExecuteSQL(sql);
  1542. sql = _T("update dindan set status8='未看' where status8 is null");
  1543. g_db.ExecuteSQL(sql);
  1544. sql = _T("update dindan set [tichenren1]='' where [tichenren1] is null");
  1545. g_db.ExecuteSQL(sql);
  1546. sql = _T("update dindan set [tichenren2]='' where [tichenren2] is null");
  1547. g_db.ExecuteSQL(sql);
  1548. sql = _T("update dindan set [tichenren3]='' where [tichenren3] is null");
  1549. g_db.ExecuteSQL(sql);
  1550. sql = _T("update dindan set [tichenren4]='' where [tichenren4] is null");
  1551. g_db.ExecuteSQL(sql);
  1552. sql = _T("update dindan set [tichenren5]='' where [tichenren5] is null");
  1553. g_db.ExecuteSQL(sql);
  1554. sql = _T("update dindanbukuan set bz='化妆二销' where bz='拍照补款'");
  1555. g_db.ExecuteSQL(sql);
  1556. sql = _T("update dindanbukuan set bz='选片二销' where bz='选片补款'");
  1557. g_db.ExecuteSQL(sql);
  1558. sql = _T("update dindanbukuan set paytype='现金' where paytype is null");
  1559. g_db.ExecuteSQL(sql);
  1560. sql = _T("update singleincome set paytype='现金' where paytype is null");
  1561. g_db.ExecuteSQL(sql);
  1562. }
  1563. catch (CDBException * e)
  1564. {
  1565. AfxMessageBox(e->m_strError);
  1566. _tprintf(_T("%s!\n"), e->m_strError);
  1567. e->Delete();
  1568. return -1;
  1569. }
  1570. CStdioFile fp;
  1571. CString strModulPath(g_ModulePath);
  1572. fp.Open(strModulPath + _T("\\系统文件\\图片\\替换说明.txt"), CFile::modeCreate | CFile::modeWrite);
  1573. fp.WriteString(_T("\
  1574. 此文件夹中图片可替换为贵店图片,通过修改PSD保存为同名jpg即可\n\
  1575. 背景.jpg文件尺寸必须为1660x1177\n\
  1576. 标题.jpg文件尺寸必须为651x87\n\
  1577. 标题-选片文件尺寸必须为2000x399\n\
  1578. 如需PSD文件,请向利亚方舟索取\n\
  1579. 替换后重启DBServer.exe和YLGL.exe生效"));
  1580. fp.Close();
  1581. ::CopyFile(strModulPath + _T("\\系统文件\\图片\\替换说明.txt"), strModulPath + _T("\\系统文件\\图片-红色风格\\替换说明.txt"), 0);
  1582. return 0;
  1583. }
  1584. int CExecutor::UpdateFile(__in const DWORD dwResourceID, __in const TCHAR *pExt, __in const TCHAR *pFileFullName)
  1585. {
  1586. HGLOBAL hGlobal = NULL;
  1587. HRSRC hSource = NULL;
  1588. LPVOID lpBuffer = NULL;
  1589. DWORD dwSize = 0;
  1590. BOOL bResult = FALSE;
  1591. if (_tcscmp(pExt, _T("EXE")) == 0)
  1592. {
  1593. FindAndCloseProcess(pFileFullName);
  1594. }
  1595. if (DeleteFile(pFileFullName) == 0)
  1596. {
  1597. if (ERROR_FILE_NOT_FOUND != GetLastError())
  1598. {
  1599. #ifdef USE_CONSOLE
  1600. CString strError;
  1601. strError.Format(_T("%s:文件拒绝访问,删除文件失败!"), pFileFullName);
  1602. AfxMessageBox(strError);
  1603. #else
  1604. _tprintf(_T("文件拒绝访问, 删除旧文件失败!\n"));
  1605. system("pause");
  1606. #endif
  1607. _exit(0);
  1608. return -1;
  1609. }
  1610. }
  1611. // 1.定位我们的自定义资源,这里因为我们是从本模块定位资源,所以将句柄简单地置为NULL即可
  1612. hSource = FindResource(NULL, MAKEINTRESOURCE(dwResourceID), pExt);
  1613. if (hSource == NULL)
  1614. {
  1615. #ifdef USE_CONSOLE
  1616. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1617. #else
  1618. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1619. system("pause");
  1620. #endif
  1621. _exit(0);
  1622. return -1;
  1623. }
  1624. // 2.获取资源的大小;
  1625. dwSize = (UINT)SizeofResource(NULL, hSource);
  1626. // 3.加载资源;
  1627. hGlobal = LoadResource(NULL, hSource);
  1628. if (hGlobal == NULL)
  1629. {
  1630. #ifdef USE_CONSOLE
  1631. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1632. #else
  1633. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1634. system("pause");
  1635. #endif
  1636. _exit(0);
  1637. return -1;
  1638. }
  1639. // 4.锁定资源,获取buffer;
  1640. lpBuffer = LockResource(hGlobal);
  1641. if (lpBuffer == NULL)
  1642. {
  1643. #ifdef USE_CONSOLE
  1644. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1645. #else
  1646. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1647. system("pause");
  1648. #endif
  1649. _exit(0);
  1650. return -1;
  1651. }
  1652. CFile fp;
  1653. if (fp.Open(pFileFullName, CFile::modeCreate | CFile::modeWrite) == 0)
  1654. {
  1655. #ifdef USE_CONSOLE
  1656. AfxMessageBox(_T("创建文件失败,升级失败!"));
  1657. #else
  1658. _tprintf(_T("创建文件失败,升级失败!\n"));
  1659. system("pause");
  1660. #endif
  1661. _exit(0);
  1662. return -1;
  1663. }
  1664. fp.Write(lpBuffer, dwSize);
  1665. fp.Close();
  1666. UnlockResource(hGlobal);
  1667. FreeResource(hGlobal);
  1668. return 0;
  1669. }
  1670. int CExecutor::UpgradeExe(__in BOOL bSteal)
  1671. {
  1672. WriteLog(_T("更新程序文件"));
  1673. // 更换文件;-------------------------------------------------------------------------
  1674. TCHAR szExecuteFile[MAX_PATH] = _T("");
  1675. /*StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sAutoRun.exe"), g_ModulePath);
  1676. UpdateFile(AutoRun, _T("EXE"), szExecuteFile);*/
  1677. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1678. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sAutoUpdate.exe"), g_ModulePath);
  1679. UpdateFile(AutoUpdate, _T("EXE"), szExecuteFile);
  1680. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1681. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sregsvr32.exe"), g_ModulePath);
  1682. UpdateFile(regsvr32, _T("EXE"), szExecuteFile);
  1683. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1684. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sSMSHandle.exe"), g_ModulePath);
  1685. UpdateFile(SMSHandle, _T("EXE"), szExecuteFile);
  1686. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1687. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sLog4C.dll"), g_ModulePath);
  1688. UpdateFile(LOG4C_DLL, _T("DLL"), szExecuteFile);
  1689. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1690. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sYLGL.exe"), g_ModulePath);
  1691. UpdateFile(YLGL, _T("EXE"), szExecuteFile);
  1692. #if JEFF_DELETE_ON
  1693. // 使用语言包;
  1694. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1695. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%slyfzSimpChs.dll"), g_ModulePath);
  1696. UpdateFile(lyfzSimpChs, _T("DLL"), szExecuteFile);
  1697. #endif
  1698. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1699. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sDBServer.exe"), g_ModulePath);
  1700. UpdateFile(DBServer, _T("EXE"), szExecuteFile);
  1701. UpgradeVersion();
  1702. //----------------------------------------------------------------
  1703. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1704. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\1.lia"), g_ModulePath);
  1705. UpdateFile(lia_1, _T("LIA"), szExecuteFile);
  1706. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1707. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\2.lia"), g_ModulePath);
  1708. UpdateFile(lia_2, _T("LIA"), szExecuteFile);
  1709. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1710. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\3.lia"), g_ModulePath);
  1711. UpdateFile(lia_3, _T("LIA"), szExecuteFile);
  1712. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1713. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\4.lia"), g_ModulePath);
  1714. UpdateFile(lia_4, _T("LIA"), szExecuteFile);
  1715. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1716. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\5.lia"), g_ModulePath);
  1717. UpdateFile(lia_5, _T("LIA"), szExecuteFile);
  1718. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1719. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\6.lia"), g_ModulePath);
  1720. UpdateFile(lia_6, _T("LIA"), szExecuteFile);
  1721. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1722. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\10.lia"), g_ModulePath);
  1723. UpdateFile(lia_10, _T("LIA"), szExecuteFile);
  1724. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  1725. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\10-red.lia"), g_ModulePath);
  1726. UpdateFile(red_10, _T("LIA"), szExecuteFile);
  1727. WriteLog(_T("更新程序文件成功"));
  1728. //---------------------------------------------------------------------
  1729. // A.往update表的data 添加YLGL.exe
  1730. try
  1731. {
  1732. g_pCurdb = &g_db;
  1733. HGLOBAL hGlobal = NULL;
  1734. HRSRC hSource = NULL;
  1735. LPVOID lpVoid = NULL;
  1736. DWORD dwSize = 0;
  1737. BOOL bResult = FALSE;
  1738. hSource = FindResource(NULL, MAKEINTRESOURCE(YLGL), _T("EXE"));
  1739. if (hSource == NULL)
  1740. {
  1741. #ifdef USE_CONSOLE
  1742. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1743. #else
  1744. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1745. #endif
  1746. return -1;
  1747. }
  1748. hGlobal = LoadResource(NULL, hSource);
  1749. if (hGlobal == NULL)
  1750. {
  1751. #ifdef USE_CONSOLE
  1752. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1753. #else
  1754. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1755. #endif
  1756. return -1;
  1757. }
  1758. lpVoid = LockResource(hGlobal);
  1759. if (lpVoid == NULL)
  1760. {
  1761. #ifdef USE_CONSOLE
  1762. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1763. #else
  1764. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1765. #endif
  1766. return -1;
  1767. }
  1768. dwSize = (UINT)SizeofResource(NULL, hSource);
  1769. BYTE *pData = new BYTE[dwSize];
  1770. memcpy(pData, (BYTE*)hGlobal, dwSize);
  1771. UnlockResource(hGlobal); // 16Bit Windows Needs This
  1772. FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release)
  1773. hGlobal = NULL;
  1774. CTableupdate rsSt;
  1775. rsSt.m_pDatabase = &g_db;
  1776. rsSt.Open();
  1777. if (rsSt.IsEOF())
  1778. {
  1779. rsSt.AddNew();
  1780. }
  1781. else
  1782. {
  1783. rsSt.Edit();
  1784. }
  1785. rsSt.m_data.m_dwDataLength = dwSize;
  1786. HGLOBAL hGlobal1 = GlobalAlloc(GPTR, dwSize);
  1787. hGlobal1 = GlobalAlloc(GPTR, dwSize);
  1788. rsSt.m_data.m_hData = GlobalLock(hGlobal1);
  1789. memcpy(rsSt.m_data.m_hData, pData, dwSize);
  1790. rsSt.SetFieldDirty(&rsSt.m_data);
  1791. rsSt.SetFieldNull(&rsSt.m_data, FALSE);
  1792. rsSt.Update();
  1793. GlobalUnlock(hGlobal1);
  1794. rsSt.Close();
  1795. delete[]pData;
  1796. }
  1797. catch (CDBException * e)
  1798. {
  1799. AfxMessageBox(e->m_strError);
  1800. e->Delete();
  1801. return -1;
  1802. }
  1803. // B.往update表的data7 添加004.lia;
  1804. try
  1805. {
  1806. g_pCurdb = &g_db;
  1807. HGLOBAL hGlobal = NULL;
  1808. HRSRC hSource = NULL;
  1809. LPVOID lpVoid = NULL;
  1810. DWORD dwSize = 0;
  1811. BOOL bResult = FALSE;
  1812. hSource = FindResource(NULL, MAKEINTRESOURCE(lia_004), _T("LIA"));
  1813. if (hSource == NULL)
  1814. {
  1815. #ifdef USE_CONSOLE
  1816. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1817. #else
  1818. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1819. #endif
  1820. return -1;
  1821. }
  1822. hGlobal = LoadResource(NULL, hSource);
  1823. if (hGlobal == NULL)
  1824. {
  1825. #ifdef USE_CONSOLE
  1826. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1827. #else
  1828. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1829. #endif
  1830. return -1;
  1831. }
  1832. lpVoid = LockResource(hGlobal);
  1833. if (lpVoid == NULL)
  1834. {
  1835. #ifdef USE_CONSOLE
  1836. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1837. #else
  1838. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1839. #endif
  1840. return -1;
  1841. }
  1842. dwSize = (UINT)SizeofResource(NULL, hSource);
  1843. BYTE *pData = new BYTE[dwSize];
  1844. memcpy(pData, (BYTE*)hGlobal, dwSize);
  1845. UnlockResource(hGlobal); // 16Bit Windows Needs This
  1846. FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release)
  1847. hGlobal = NULL;
  1848. CTableupdate rsSt;
  1849. rsSt.m_pDatabase = &g_db;
  1850. rsSt.Open();
  1851. if (rsSt.IsEOF())
  1852. rsSt.AddNew();
  1853. else
  1854. rsSt.Edit();
  1855. rsSt.m_data7.m_dwDataLength = dwSize;
  1856. HGLOBAL hGlobal1 = GlobalAlloc(GPTR, dwSize);
  1857. hGlobal1 = GlobalAlloc(GPTR, dwSize);
  1858. rsSt.m_data7.m_hData = GlobalLock(hGlobal1);
  1859. memcpy(rsSt.m_data7.m_hData, pData, dwSize);
  1860. rsSt.SetFieldDirty(&rsSt.m_data7);
  1861. rsSt.SetFieldNull(&rsSt.m_data7, FALSE);
  1862. rsSt.Update();
  1863. GlobalUnlock(hGlobal1);
  1864. rsSt.Close();
  1865. delete[]pData;
  1866. }
  1867. catch (CDBException * e)
  1868. {
  1869. AfxMessageBox(e->m_strError);
  1870. e->Delete();
  1871. return -1;
  1872. }
  1873. // C.往update表的ocx字段 添加 MSCHRT20.OCX;
  1874. try
  1875. {
  1876. g_pCurdb = &g_db;
  1877. HGLOBAL hGlobal = NULL;
  1878. HRSRC hSource = NULL;
  1879. LPVOID lpVoid = NULL;
  1880. DWORD dwSize = 0;
  1881. BOOL bResult = FALSE;
  1882. hSource = FindResource(NULL, MAKEINTRESOURCE(MSCHRT20), _T("OCX"));
  1883. if (hSource == NULL)
  1884. {
  1885. #ifdef USE_CONSOLE
  1886. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1887. #else
  1888. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1889. #endif
  1890. return -1;
  1891. }
  1892. hGlobal = LoadResource(NULL, hSource);
  1893. if (hGlobal == NULL)
  1894. {
  1895. #ifdef USE_CONSOLE
  1896. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1897. #else
  1898. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1899. #endif
  1900. return -1;
  1901. }
  1902. lpVoid = LockResource(hGlobal);
  1903. if (lpVoid == NULL)
  1904. {
  1905. #ifdef USE_CONSOLE
  1906. AfxMessageBox(_T("载入资源失败, 升级失败!"));
  1907. #else
  1908. _tprintf(_T("载入资源失败, 升级失败!\n"));
  1909. #endif
  1910. return -1;
  1911. }
  1912. dwSize = (UINT)SizeofResource(NULL, hSource);
  1913. BYTE *pData = new BYTE[dwSize];
  1914. memcpy(pData, (BYTE*)hGlobal, dwSize);
  1915. UnlockResource(hGlobal); // 16Bit Windows Needs This
  1916. FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release)
  1917. hGlobal = NULL;
  1918. CTableupdate rsSt;
  1919. rsSt.m_pDatabase = &g_db;
  1920. rsSt.Open();
  1921. if (rsSt.IsEOF())
  1922. rsSt.AddNew();
  1923. else
  1924. rsSt.Edit();
  1925. rsSt.m_lbOCX.m_dwDataLength = dwSize;
  1926. HGLOBAL hGlobal1 = GlobalAlloc(GPTR, dwSize);
  1927. hGlobal1 = GlobalAlloc(GPTR, dwSize);
  1928. rsSt.m_lbOCX.m_hData = GlobalLock(hGlobal1);
  1929. memcpy(rsSt.m_lbOCX.m_hData, pData, dwSize);
  1930. rsSt.SetFieldDirty(&rsSt.m_lbOCX);
  1931. rsSt.SetFieldNull(&rsSt.m_lbOCX, FALSE);
  1932. rsSt.Update();
  1933. GlobalUnlock(hGlobal1);
  1934. rsSt.Close();
  1935. delete[]pData;
  1936. }
  1937. catch (CDBException * e)
  1938. {
  1939. AfxMessageBox(e->m_strError);
  1940. e->Delete();
  1941. return -1;
  1942. }
  1943. CString strSQL;
  1944. strSQL.Format(_T("update [%s].[dbo].[version] set version='%02d%02d'"), g_szDBName, g_arrFileVersion[2], g_arrFileVersion[3]);
  1945. g_pCurdb->ExecuteSQL(strSQL);
  1946. WriteLog(_T("完成所有更新"));
  1947. return 0;
  1948. }
  1949. // Jeff.解决旧版本与新版本间由于起始编号产生的问题。
  1950. int CExecutor::VerifyCurrentNoQuestion()
  1951. {
  1952. WriteLog(_T("解决旧版本与新版本间由于起始编号产生的问题"));
  1953. // 1.连接数据库,获取全部起始编号为0的订单;
  1954. CArray<CStringArray, CStringArray> StrArray;
  1955. TCHAR pfilter[1024] = { 0 };
  1956. //GetDindanCurData(StrArray,"curno='0' and status3<>'OK'");
  1957. GetDindanCurData(StrArray, _T("status3<>'OK'"));
  1958. // 2.所得的订单号来对指定文件夹进行遍历查找,获得文件数;
  1959. TCHAR szLocalName[MAX_PATH] = { 0 };
  1960. TCHAR szShareFolder[MAX_PATH] = { 0 };
  1961. DWORD dwleng = MAX_PATH;
  1962. ::GetComputerName(szLocalName, &dwleng);
  1963. StringCchPrintf(szShareFolder, MAX_PATH, _T("\\\\%s\\%s"), szLocalName, _T("客户原片(管理软件)$"));
  1964. int nHasDealOrder = 0;
  1965. int nSizePhoto = 0;
  1966. TCHAR szSQL[1024] = { 0 };
  1967. TCHAR szOrderFolder[MAX_PATH] = { 0 };
  1968. int nCount = StrArray.GetSize();
  1969. for (int i = 0; i < nCount; i++)
  1970. {
  1971. //memset(szOrderFolder, 0, MAX_PATH*sizeof(TCHAR));
  1972. StringCchPrintf(szOrderFolder, MAX_PATH, _T("%s\\%s"), szShareFolder, StrArray.ElementAt(i).ElementAt(0));
  1973. nSizePhoto = GetCountOfOrderFolderPhotoFile(szOrderFolder);
  1974. if (nSizePhoto != 0)
  1975. {
  1976. StringCchPrintf(szLocalName, MAX_PATH, _T("文件夹:%s的相片数:%d"), szOrderFolder, nSizePhoto);
  1977. WriteLog(szLocalName);
  1978. // 订单文件夹里的相片数大于0,修改起始编号值;
  1979. //memset(szSQL, 0, 1024 * sizeof(TCHAR));
  1980. StringCchPrintf(szSQL, MAX_PATH, _T("update dindan set curno='%d' where id='%s'"), nSizePhoto, StrArray.ElementAt(i).ElementAt(0));
  1981. g_db.ExecuteSQL(szSQL);
  1982. nHasDealOrder++;
  1983. }
  1984. }
  1985. WriteLog(_T("起始编号修正完成"));
  1986. return nHasDealOrder;
  1987. }
  1988. void CExecutor::GetDindanCurData(CArray<CStringArray, CStringArray> &StrArry, const TCHAR *pfilter)
  1989. {
  1990. AfxMessageBox(_T("GetDindanCurData"));
  1991. CRecordset tagRSet(&g_db);
  1992. CString strSQL = _T("select count(*) as cot from dindan");
  1993. TCHAR szSQL[1024] = _T("");
  1994. if (pfilter && _tcscmp(pfilter, _T("")) != 0)
  1995. StringCchPrintf(szSQL, 1024, _T("%s where %s"), strSQL, pfilter);
  1996. else
  1997. StringCchPrintf(szSQL, 1024, _T("%s"), strSQL);
  1998. try
  1999. {
  2000. tagRSet.Open(CRecordset::forwardOnly, szSQL);
  2001. tagRSet.GetFieldValue(_T("cot"), strSQL);
  2002. tagRSet.Close();
  2003. }
  2004. catch (CDBException* e)
  2005. {
  2006. AfxMessageBox(e->m_strError);
  2007. e->Delete();
  2008. return;
  2009. }
  2010. //WriteLog("订单起始编号为0的订单个数="+strSQL);
  2011. WriteLog(_T("未取件的订单个数=") + strSQL);
  2012. #ifdef UNICODE
  2013. long count = _ttol(strSQL); //_wtol
  2014. #else
  2015. long count = atol(strSQL);
  2016. #endif
  2017. if ( count == 0 ) // 没有未取件的;
  2018. return;
  2019. StrArry.SetSize(count, 1);
  2020. try
  2021. {
  2022. CTabledindan rsSt;
  2023. rsSt.m_pDatabase = &g_db;
  2024. if (pfilter && _tcscmp(pfilter, _T("")) != 0)
  2025. rsSt.m_strFilter = pfilter;
  2026. rsSt.Open();
  2027. int nIndex = 0;
  2028. while (!rsSt.IsEOF())
  2029. {
  2030. //StrArry.ElementAt(nIndex).RemoveAll();
  2031. StrArry.ElementAt(nIndex).Add(rsSt.m_id);
  2032. StrArry.ElementAt(nIndex).Add(rsSt.m_curno);
  2033. WriteLog(_T("未取件的订单:") + rsSt.m_id); // 这里容易出错,因为写文件属于I/O操作,速度相对比较慢.
  2034. rsSt.MoveNext();
  2035. nIndex++;
  2036. if (StrArry.GetSize() <= nIndex) break;
  2037. }
  2038. rsSt.Close();
  2039. StrArry.SetSize(nIndex, 1);
  2040. }
  2041. catch (CDBException* e)
  2042. {
  2043. AfxMessageBox(e->m_strError);
  2044. e->Delete();
  2045. }
  2046. }
  2047. // 相片后缀:jpg、raw、cr2、NEF 四种常用后缀
  2048. int CExecutor::GetCountOfOrderFolderPhotoFile(__in const TCHAR *pOrderFolder)
  2049. {
  2050. //AfxMessageBox(_T("GetCountOfOrderFolderPhotoFile"));
  2051. CStringArray StrSubFoloderArray;
  2052. using namespace helper_coffs;
  2053. ffsco o;
  2054. o.dirs(1); // Jeff.1:查找子目录;
  2055. //o.find(LPCSTR(pOrderFolder), LPCSTR("*.*")); // 可能存在m和s开头的缩略图,需要过滤掉;
  2056. o.find(LPCTSTR(pOrderFolder), LPCTSTR(_T("*.*"))); // 可能存在m和s开头的缩略图,需要过滤掉;
  2057. if (o.count() == 0)
  2058. return 0;
  2059. // 获取子目录数;
  2060. ffsco::typeT coo;
  2061. ffsco::typeT::iterator it;
  2062. coo = o.co_dir();
  2063. for (it = coo.begin(); it != coo.end(); it++)
  2064. {
  2065. if (::FindArray(&StrSubFoloderArray, (*it).c_str()) == -1)
  2066. StrSubFoloderArray.Add((*it).c_str());
  2067. }
  2068. // 获取子目录下的文件数;
  2069. CStringArray StrPhotoArray;
  2070. for (int n = 0; n < StrSubFoloderArray.GetSize(); n++)
  2071. {
  2072. ffsco op;
  2073. op.dirs(0);
  2074. //op.find(LPCSTR(StrSubFoloderArray.ElementAt(n)), LPCSTR("*.*"));
  2075. op.find(LPCTSTR(StrSubFoloderArray.ElementAt(n)), LPCTSTR(_T("*.*")));
  2076. ffsco::typeT coo;
  2077. ffsco::typeT::iterator itp;
  2078. coo = op.co_file();
  2079. for (itp = coo.begin(); itp != coo.end(); itp++)
  2080. {
  2081. StrPhotoArray.Add((*itp).c_str());
  2082. }
  2083. }
  2084. CString strTempFile;
  2085. int nIndex = 0;
  2086. int nSizeOfFile = 0; // 记录相片文件数;
  2087. int nCount = StrPhotoArray.GetSize();
  2088. for (int i = 0; i < nCount; i++)
  2089. {
  2090. strTempFile = StrPhotoArray.ElementAt(i);
  2091. nIndex = strTempFile.ReverseFind('\\');
  2092. strTempFile = strTempFile.Right(strTempFile.GetLength() - nIndex - 1);
  2093. if (strTempFile.Left(1) == _T("m") || strTempFile.Left(1) == _T("s"))
  2094. {
  2095. continue;
  2096. }
  2097. strTempFile = strTempFile.Right(4);
  2098. strTempFile.MakeLower();
  2099. if (strTempFile == _T(".jpg"))
  2100. {
  2101. nSizeOfFile++;
  2102. }
  2103. else if (strTempFile == _T(".raw"))
  2104. {
  2105. nSizeOfFile++;
  2106. }
  2107. else if (strTempFile == _T(".cr2"))
  2108. {
  2109. nSizeOfFile++;
  2110. }
  2111. else if (strTempFile == _T(".nef"))
  2112. {
  2113. nSizeOfFile++;
  2114. }
  2115. }
  2116. if (nSizeOfFile != 0)
  2117. return ++nSizeOfFile;
  2118. return 0;
  2119. }
  2120. // Jeff.创建新的数据库;
  2121. int CExecutor::SQLCreateDatabase(__in const TCHAR *pStoragePath, __in const TCHAR *pDatabaseName)
  2122. {
  2123. TCHAR szDBFile[MAX_PATH] = _T("");
  2124. StringCchPrintf(szDBFile, MAX_PATH, _T("%s\\%s.mdf"), pStoragePath, pDatabaseName);
  2125. TCHAR szDBLogFile[MAX_PATH] = _T("");
  2126. StringCchPrintf(szDBLogFile, MAX_PATH, _T("%s\\%s_log.ldf"), pStoragePath, pDatabaseName);
  2127. TCHAR szLogFile[MAX_PATH] = _T("");
  2128. StringCchPrintf(szLogFile, MAX_PATH, _T("%s_log"), pDatabaseName);
  2129. // 创建指定名称的空数据库;
  2130. TCHAR szSQL[10240] = _T("");
  2131. //strcat_s(szSQL,"USE [master] GO CREATE DATABASE [");
  2132. _tcscat_s(szSQL, _T("CREATE DATABASE ["));
  2133. _tcscat_s(szSQL, pDatabaseName);
  2134. _tcscat_s(szSQL, _T("] ON PRIMARY ( NAME = N'"));
  2135. _tcscat_s(szSQL, pDatabaseName);
  2136. _tcscat_s(szSQL, _T("',FILENAME = N'"));
  2137. _tcscat_s(szSQL, szDBFile);
  2138. _tcscat_s(szSQL, _T("', SIZE = 37760KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB) LOG ON (NAME = N'"));
  2139. _tcscat_s(szSQL, szLogFile);
  2140. _tcscat_s(szSQL, _T("',FILENAME = N'"));
  2141. _tcscat_s(szSQL, szDBLogFile);
  2142. _tcscat_s(szSQL, _T("',SIZE = 32448KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)"));
  2143. CDatabase *pMasterdb = GetSQLMaster();
  2144. try
  2145. {
  2146. pMasterdb->ExecuteSQL(szSQL);
  2147. }
  2148. catch (CDBException * e)
  2149. {
  2150. AfxMessageBox(e->m_strError);
  2151. _tprintf(_T("%s!\n"), e->m_strError);
  2152. if (pMasterdb)
  2153. {
  2154. delete pMasterdb;
  2155. pMasterdb = NULL;
  2156. }
  2157. e->Delete();
  2158. return -1;
  2159. }
  2160. if (pMasterdb)
  2161. delete pMasterdb;
  2162. pMasterdb = NULL;
  2163. return 0;
  2164. }
  2165. int CExecutor::UpgradeVersion()
  2166. {
  2167. TCHAR szExecuteFile[MAX_PATH] = _T("");
  2168. if( g_nVersion == 2 || g_nVersion == 3 )
  2169. EnterpriseVersion();
  2170. else
  2171. DeleteEnterpriseExe();
  2172. return 0;
  2173. }
  2174. int CExecutor::EnterpriseVersion()
  2175. {
  2176. TCHAR szExecuteFile[MAX_PATH] = _T("");
  2177. return 0;
  2178. }
  2179. void CExecutor::DeleteEnterpriseExe() // 升级非企业版,删除以下文件 ;
  2180. {
  2181. TCHAR szExecuteFile[MAX_PATH] = _T("");
  2182. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sDataSyncSend.exe"), g_ModulePath);
  2183. FindAndCloseProcess(szExecuteFile);
  2184. ::DeleteFile(szExecuteFile);
  2185. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  2186. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sCPhotoFTPSend.exe"), g_ModulePath);
  2187. FindAndCloseProcess(szExecuteFile);
  2188. ::DeleteFile(szExecuteFile);
  2189. memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR));
  2190. StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sCPhotoFTPReceive.exe"), g_ModulePath);
  2191. FindAndCloseProcess(szExecuteFile);
  2192. ::DeleteFile(szExecuteFile);
  2193. }
  2194. // 修改选片或选设计时选中的和删除的相片的分隔符;
  2195. void CExecutor::AlterSeparator(CDatabase *pDBInstance)
  2196. {
  2197. if (pDBInstance == NULL)
  2198. return;
  2199. // update dindansp set [no]=replace([no],',','|'),[no2]=replace([no2],',','|')
  2200. // update dindan set [delphotos]=replace([delphotos],';','|'),[delphotos2]=replace([delphotos2],';','|')
  2201. // 已删除的选片保存在dindan.delphotos;
  2202. // 已删除的设计片保存在dindan.delphotos2;
  2203. // 已选中的选片保存在dindansp中no;
  2204. // 已选中的设计保存在dindansp中no2;
  2205. try
  2206. {
  2207. pDBInstance->ExecuteSQL(_T("update dindansp set [no]=replace([no],',','|'),[no2]=replace([no2],',','|')"));
  2208. }
  2209. catch (CDBException *e)
  2210. {
  2211. AfxMessageBox(e->m_strError);
  2212. e->Delete();
  2213. }
  2214. try
  2215. {
  2216. pDBInstance->ExecuteSQL(_T("update dindan set [delphotos]=replace([delphotos],';','|'),[delphotos2]=replace([delphotos2],';','|')"));
  2217. }
  2218. catch (CDBException *e)
  2219. {
  2220. AfxMessageBox(e->m_strError);
  2221. e->Delete();
  2222. }
  2223. }
  2224. BOOL CExecutor::InitMaster()
  2225. {
  2226. CDatabase tagMaster;
  2227. TCHAR szDBSource[MAX_PATH] = _T("");
  2228. if (g_dwDBServerPort != 0)
  2229. StringCchPrintf(szDBSource, MAX_PATH, _T("%s,%d"), g_szDBSource, g_dwDBServerPort);
  2230. else
  2231. StringCchPrintf(szDBSource, MAX_PATH, _T("%s"), g_szDBSource);
  2232. TCHAR szSQLCon[MAX_PATH];
  2233. memset(szSQLCon, 0, MAX_PATH*sizeof(TCHAR));
  2234. StringCchPrintf(szSQLCon, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=master;uid=%s;pwd=%s"), szDBSource, g_szDBAccount, g_szDBPassWord);
  2235. if (!tagMaster.OpenEx(szSQLCon, CDatabase::noOdbcDialog))
  2236. {
  2237. OutputDebugString(_T("打开Master数据库失败\n"));
  2238. return FALSE;
  2239. }
  2240. //////////////////////////////////////////////////////////////////////////
  2241. // 获取记录;
  2242. CString strSQL = _T("");
  2243. CRecordset rst(&tagMaster);
  2244. strSQL.Format(_T("select [version] from [%s].[dbo].[version]"), g_szDBName);
  2245. rst.Open(CRecordset::forwardOnly, strSQL);
  2246. rst.GetFieldValue(_T("version"), strSQL);
  2247. rst.Close();
  2248. INT nCount = _ttoi(strSQL);
  2249. if ( nCount <= 640 )
  2250. {
  2251. // 密码使用MD5加密,必须是32位长度;
  2252. strSQL.Format(_T("ALTER TABLE [%s].[dbo].[user] ALTER COLUMN [psw][nvarchar](32) NOT NULL"), g_szDBName);
  2253. try
  2254. {
  2255. tagMaster.ExecuteSQL(strSQL);
  2256. }
  2257. catch(...)
  2258. {
  2259. AfxMessageBox(_T("错误,请重新升级或检测数据库完成性!"));
  2260. return FALSE;
  2261. }
  2262. //////////////////////////////////////////////////////////////////////////
  2263. // 获取记录;
  2264. rst.m_pDatabase = &tagMaster;
  2265. strSQL.Format(_T("select count(*) as cot from [%s].[dbo].[user]"), g_szDBName);
  2266. rst.Open(CRecordset::forwardOnly, strSQL);
  2267. rst.GetFieldValue(_T("cot"), strSQL);
  2268. rst.Close();
  2269. nCount = _ttoi(strSQL);
  2270. if ( nCount == 0 )
  2271. {
  2272. return FALSE;
  2273. }
  2274. CTableUser rtUser;
  2275. strSQL.Format(_T("select account,psw from [%s].[dbo].[user]"), g_szDBName);
  2276. rtUser.m_pDatabase = &tagMaster;
  2277. rtUser.Open(CRecordset::forwardOnly, strSQL);
  2278. CArray<CStringArray,CStringArray> AryUser;
  2279. AryUser.SetSize(nCount,1);
  2280. nCount = 0;
  2281. while(!rtUser.IsEOF())
  2282. {
  2283. strSQL.Format(_T("3%s"), rtUser.m_strpsw);
  2284. AryUser.ElementAt(nCount).Add(rtUser.m_account);
  2285. AryUser.ElementAt(nCount).Add(strSQL);
  2286. nCount++;
  2287. rtUser.MoveNext();
  2288. if ( AryUser.GetSize() <= nCount )
  2289. {
  2290. break;
  2291. }
  2292. }
  2293. rtUser.Close();
  2294. //////////////////////////////////////////////////////////////////////////
  2295. // 修改密码;
  2296. CMD5 md5;
  2297. BYTE byMD5[50] = {0};
  2298. nCount = AryUser.GetSize();
  2299. for ( int i = 0; i < nCount; i++ )
  2300. {
  2301. if ( AryUser.ElementAt(i).GetAt(1).GetLength() < 32 )
  2302. {// 长度小于32位,没有md5加密;
  2303. memset(byMD5, 0, 50);
  2304. memcpy(byMD5, (LPCTSTR)AryUser.ElementAt(i).GetAt(1), AryUser.ElementAt(i).GetAt(1).GetLength());
  2305. md5.SetBYTEText(byMD5, strlen((char*)byMD5));
  2306. strSQL.Format(_T("update [%s].[dbo].[user] set psw = '%s' where account = '%s'"), g_szDBName, md5.GetMD5Digest(), AryUser.ElementAt(i).GetAt(0));
  2307. tagMaster.ExecuteSQL(strSQL);
  2308. }
  2309. }
  2310. }
  2311. return TRUE;
  2312. }