#include "StdAfx.h" #include #include "Executor.h" #include "resource.h" #include "ffsco.h" ////////////////////////////////////////////////////////////////////////// IMPLEMENT_DYNAMIC(CTableUser, CRecordset) CTableUser::CTableUser(CDatabase* pdb): CRecordset(pdb) { m_account = _T(""); m_strpsw = _T(""); m_nFields = 2; m_nDefaultType = dynaset; } //#error 安全问题:连接字符串可能包含密码。 // 此连接字符串中可能包含明文密码和/或其他重要 // 信息。请在查看完此连接字符串并找到所有与安全 // 有关的问题后移除 #error。可能需要将此密码存 // 储为其他格式或使用其他的用户身份验证。 CString CTableUser::GetDefaultConnect() { return _T("ODBC;DSN"); } CString CTableUser::GetDefaultSQL() { return _T("[dbo].[user]"); } void CTableUser::DoFieldExchange(CFieldExchange* pFX) { pFX->SetFieldType(CFieldExchange::outputColumn); // RFX_Text() 和 RFX_Int() 这类宏依赖的是 // 成员变量的类型,而不是数据库字段的类型。 // ODBC 尝试自动将列值转换为所请求的类型 RFX_Text(pFX, _T("[account]"), m_account); RFX_Text(pFX, _T("[psw]"), m_strpsw); } ///////////////////////////////////////////////////////////////////////////// // CTableupdate 诊断 #ifdef _DEBUG void CTableUser::AssertValid() const { CRecordset::AssertValid(); } void CTableUser::Dump(CDumpContext& dc) const { CRecordset::Dump(dc); } #endif //_DEBUG ////////////////////////////////////////////////////////////////////////// CExecutor::CExecutor(void) { } CExecutor::~CExecutor(void) { } int FindArray(__in CStringArray *pArray, __in CString Str) { for (int i = 0; i < pArray->GetSize(); i++) { if (pArray->ElementAt(i) == Str) return i; } return -1; } //-------------------------------- // 注意:如果2015.mdf没有相应的2015.ldf文件,附加时他会使用逻辑名中的对应的ldf文件,即逻辑名为dbnull // 那2015数据库的ldf文件就是dbnull.ldf. // 这样就造成了两个mdf共一个ldf文件,造成更大的错误发生! //-------------------------------- int CExecutor::ConnectDatabase() { // 1.准备工作,连接数据库; TCHAR szDBFile[MAX_PATH] = _T(""); TCHAR szDBLogFile[MAX_PATH] = _T(""); TCHAR szDBSource[MAX_PATH] = _T(""); if (g_dwDBServerPort != 0) StringCchPrintf(szDBSource, MAX_PATH, _T("%s,%d"), g_szDBSource, g_dwDBServerPort); else StringCchPrintf(szDBSource, MAX_PATH, _T("%s"), g_szDBSource); TCHAR szConnectString[MAX_PATH]; memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR)); try { StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=master;uid=%s;pwd=%s"), szDBSource, g_szDBAccount, g_szDBPassWord); g_masterdb.OpenEx(szConnectString, CDatabase::noOdbcDialog); g_masterdb.SetQueryTimeout(120); } catch (CDBException * e) { #ifdef USE_CONSOLE AfxMessageBox(e->m_strError); #else _tprintf(_T("%s!\n"), e->m_strError); #endif e->Delete(); return -1; } BOOL bOK = 1; memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=%s;uid=%s;pwd=%s"), szDBSource, g_szDBName, g_szDBAccount, g_szDBPassWord); try { g_db.OpenEx(szConnectString, CDatabase::noOdbcDialog); } catch (CDBException * e) { bOK = 0; StringCchPrintf(szDBFile, MAX_PATH, _T("%s数据\\%s.mdf"), g_ModulePath, g_szDBName); if (::PathFileExists(szDBFile) == 0) { #ifdef USE_CONSOLE AfxMessageBox(_T("未找到数据库文件!")); #else _tprintf(_T("未找到数据库文件!\n")); #endif return -1; } BOOL bLog = 0; StringCchPrintf(szDBLogFile, MAX_PATH, _T("%s数据\\%s_log.ldf"), g_ModulePath, g_szDBName); if (::PathFileExists(szDBLogFile) != 0) { bLog = 1; } CString sql; try { sql.Format(_T("exec sp_detach_db '%s'"), g_szDBName); g_masterdb.ExecuteSQL(sql); } catch (CDBException * e1) { e1->Delete(); } if (bLog) sql.Format(_T("exec sp_attach_db '%s',@filename1='%s数据\\%s.mdf',@filename2='%s\\数据\\%s_log.ldf'"), g_szDBName, g_ModulePath, g_szDBName, g_ModulePath, g_szDBName); else sql.Format(_T("exec sp_attach_db '%s',@filename1='%s数据\\%s.mdf'"), g_szDBName, g_ModulePath, g_szDBName); try { g_masterdb.ExecuteSQL(sql); } catch (CDBException * e2) { #ifdef USE_CONSOLE AfxMessageBox(_T("附加数据库失败!")); #else _tprintf(_T("附加数据库失败!\n")); #endif e2->Delete(); return -1; } e->Delete(); } if (bOK == 0) { memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=%s;uid=%s;pwd=%s"), szDBSource, g_szDBName, g_szDBAccount, g_szDBPassWord); try { g_db.OpenEx(szConnectString, CDatabase::noOdbcDialog); } catch (CDBException * e) { #ifdef USE_CONSOLE AfxMessageBox(_T("连接SQL数据库失败!")); #else _tprintf(_T("连接SQL数据库失败!\n")); #endif e->Delete(); return -1; } } g_dbArray.Add(&g_db); CDatabase *nulldb = new CDatabase; BOOL bnulldb = 1; memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=dbnull;uid=%s;pwd=%s"), szDBSource, g_szDBAccount, g_szDBPassWord); try { nulldb->OpenEx(szConnectString, CDatabase::noOdbcDialog); } catch (CDBException * e) { bnulldb = 0; e->Delete(); } for (int i = CTime::GetCurrentTime().GetYear() - 1; i >= 2009; i--) { CDatabase *db = new CDatabase; try { memset(szConnectString, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szConnectString, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=%d;uid=%s;pwd=%s"), szDBSource, i, g_szDBAccount, g_szDBPassWord); if (db->OpenEx(szConnectString, CDatabase::noOdbcDialog)) g_dbArray.Add(db); else delete db; } catch (CDBException * e) { e->Delete(); delete db; break; } } return 0; } int CExecutor::DisConnectDatabase() { for (int i = 0; i < g_dbArray.GetSize(); i++) { g_dbArray.ElementAt(i)->Close(); } g_dbArray.RemoveAll(); try { g_masterdb.ExecuteSQL(_T("exec sp_detach_db 'dbnull'")); } catch (CDBException * e) { #ifdef USE_CONSOLE AfxMessageBox(e->m_strError); #else _tprintf(_T("%s!\n"), e->m_strError); #endif e->Delete(); } g_masterdb.Close(); CString strPath(g_ModulePath); #ifdef USE_CONSOLE AfxMessageBox(_T("升级成功!")); #else _tprintf(_T("升级成功!\n")); #endif ShellExecute(NULL, _T("open"), strPath + _T("DBServer.exe"), NULL, NULL, SW_SHOWNORMAL); CStdioFile fp; fp.Open(strPath + _T("\\系统文件\\图片\\替换说明.txt"), CFile::modeCreate | CFile::modeWrite); fp.WriteString(_T("\ 此文件夹中图片可替换为贵店图片,通过修改PSD保存为同名jpg即可\n\ 背景.jpg文件尺寸必须为1660x1177\n\ 标题.jpg文件尺寸必须为651x87\n\ 标题-选片文件尺寸必须为2000x399\n\ 如需PSD文件,请向利亚方舟索取\n\ 替换后重启DBServer.exe和YLGL.exe生效")); fp.Close(); ::CopyFile(strPath + _T("\\系统文件\\图片\\替换说明.txt"), strPath + _T("\\系统文件\\图片-红色风格\\替换说明.txt"), 0); return 0; } /* if not exists(select name from syscolumns where id=object_id('[tableName]') and name='[columnName]') alter table [tablename] add [columnName] [datatype] alter table tab_info alter column thisname varchar(200) not null */ void CExecutor::AlterAddField(CString &strSQL, const char *pTable, const char *pField, const char *pDataType) { strSQL.Format(_T("if not exists(select name from syscolumns where id=object_id('%s') and name='%s') alter table [%s] add [%s] %s"), pTable, pField, pTable, pField, pDataType); } void CExecutor::AlterAddField(CDatabase *pdb, const TCHAR *pTable, const TCHAR *pField, const TCHAR *pDataType, const TCHAR *pAlterColumn) { CString strSQL; strSQL.Format(_T("if not exists(select name from syscolumns where id=object_id('%s') and name='%s') alter table [%s] add [%s] %s"), pTable, pField, pTable, pField, pDataType); try { pdb->ExecuteSQL(strSQL); if (pAlterColumn != NULL) { strSQL.Format(_T("alter table [%s] alter column [%s] %s"), pTable, pField, pAlterColumn); pdb->ExecuteSQL(strSQL); } } catch (CDBException *e) { AfxMessageBox(e->m_strError); e->Delete(); } } int CExecutor::UpgradeSQL() { CString path; CString sql; for (int i = 0; i < g_dbArray.GetSize(); i++) { // add at 2014.12.04 短信类型; AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("msgtype"), _T("nvarchar(10) null")); // 短信类型; // add at 2014.12.04 短信类型; AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("msgtype"), _T("nvarchar(10) null")); // 短信类型; // 2014.09.05.Jeff add 为客户端添加MSCHRT20.OCX----------- AlterAddField(g_dbArray.ElementAt(i), _T("update"), _T("ocx"), _T("[image] NULL")); //sql="alter table [update] add [ocx] [image] NULL"); // 2014.09.01.Jeff add 相片冲印添加返工及返工日期字段----------- AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("statusOfReWork"), _T("nvarchar(50)")); //sql="alter table [photoprint] add [statusOfReWork] nvarchar(50)"); AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("timeOfReWork"), _T("nvarchar(50)")); //sql="alter table [photoprint] add [timeOfReWork] nvarchar(50)"); // 2014.09.01.-------------------------------------------------- AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("status7"), _T("nvarchar(50)")); //sql="alter table [dindan] add [status7] nvarchar(50)"); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("hqdate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("hqtime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("urgent"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("taketime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("no2"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("check4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("edit4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info1"), _T("nvarchar(50)"),_T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info2"), _T("nvarchar(50)"),_T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info3"), _T("nvarchar(50)"),_T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info4"), _T("nvarchar(50)"),_T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info5"), _T("nvarchar(50)"),_T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info6"), _T("nvarchar(50)"),_T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("baktime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bakserver5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgaccount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgpsw"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgused"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgbalance"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgdays1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgdays2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck3"), _T("nvarchar(50)")); sql = _T("alter table [version] ALTER COLUMN [msgcontent1] nvarchar(max)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [version] ALTER COLUMN [msgcontent2] nvarchar(max)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [version] ALTER COLUMN [msgcontent3] nvarchar(max)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent1"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent2"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent3"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent5"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent6"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("remarks"), _T("nvarchar(max)"),_T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salarycheck4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgtime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgphones"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgphones2"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcompanyname"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgsendtype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("rate2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck10"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("printer1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("printer2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("printer3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setprintstyle"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setprintstyle2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadcheck4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak11"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak22"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak33"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("bak44"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("ziptype4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("limitcount1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("limitcount2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("limitcount3"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='sendreg') create table [sendreg]([timestamp] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("msgcount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("log"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("status"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("issended"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("isautosend"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("phones"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("content"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='sendreg2') create table [sendreg2]([price] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("yytime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("client"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("phones"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("content"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("memberno"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='membermanage') create table [membermanage]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("sex"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("qq"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("addr"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("occupation"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("birthday"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("pinyin"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='membermanageblue') create table [membermanageblue]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("sex"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("qq"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("addr"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("occupation"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("birthday"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("pinyin"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("money2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("money3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("jiage"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanageblue"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='memberreg') create table [memberreg]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("dindanid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("card2no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("taoxi"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("date2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='memberreg2') create table [memberreg2]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("dindanid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("point"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='memberreg2blue') create table [memberreg2blue]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2blue"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg2blue"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("path"), _T("path5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("time3"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='dressinfo') create table [dressinfo]([type] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("price1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("price2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("hirecount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("salecount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("balance"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("remark"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='dresstype') create table [dresstype]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dresstype"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='dresshire') create table [dresshire]([money] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("money2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("hireorsale"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("id"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("remark"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='dresshiredata') create table [dresshiredata]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("isreturn"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("returndate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("hireorsale"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("time1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("time2"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='storeinfo') create table [storeinfo]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo"), _T("remark"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='storeinfo2') create table [storeinfo2]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("storeinfo2"), _T("remark"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='taoxifg') create table [taoxifg]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("address2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("idno"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("marry"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("dimission"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter8"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("status8"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("bruncount"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='burncdreg') create table [burncdreg]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("burncdreg"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("burncdreg"), _T("ren"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("burncdreg"), _T("remark"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("area"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("area2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("check1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("check2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("check3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("sex"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client"), _T("zodiac"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='area') create table [area]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("area"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg"), _T("ren"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendreg2"), _T("ren"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("rate3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("rate4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("rate5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("loginno1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("loginno2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("tichenren5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("datetime4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("datetime5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("datetime6"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='salary') create table [salary]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("salary"), _T("year"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("salary"), _T("month"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("salary"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("sale2type"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='rewards') create table [rewards]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("execute"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("renyuan"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("bz"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("rewards"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); #if 1 //添加主键约束 alter table [shangpin] add constraint PK__shangpin__440B1D61 primary key(spid) //删除主键约束 alter table [shangpin] drop constraint PK__shangpin__440B1D61 sql = _T("declare @key_name nvarchar(200)\n"); sql += _T("set @key_name = (select constraint_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='shangpin') \n"); sql += _T("if @key_name <> '' begin \n"); sql += _T("set @key_name ='alter table [shangpin] drop constraint ' +(select constraint_name from INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='shangpin')\n"); sql += _T("exec(@key_name)\n"); sql += _T("end"); ExecuteSQL(g_dbArray.ElementAt(i), sql); //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]"); //ExecuteSQL(g_dbArray.ElementAt(i), sql); //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]"); //ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("declare @name varchar(200) \n"); 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"); sql += _T("if @name <> '' begin \n"); 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"); sql += _T("exec (@name) \n"); sql += _T("end"); ExecuteSQL(g_dbArray.ElementAt(i), sql); //sql = _T("ALTER TABLE [dbo].[shangpin] DROP CONSTRAINT [DF__shangpin__spid__44FF419A]"); //ExecuteSQL(g_dbArray.ElementAt(i), sql); //sql = _T("ALTER TABLE [dbo].[shangpin] DROP CONSTRAINT [DF_shangpin_spid]"); //ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [shangpin] ALTER COLUMN [spid] nvarchar(50) not null"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("ALTER TABLE [dbo].[shangpin] ADD constraint DF_shangpin_spid DEFAULT ('0') FOR [spid]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [shangpin] add constraint PK_shangpin primary key(spid)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #else sql = _T("alter table [shangpin] ALTER COLUMN [spid] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #endif sql = _T("if not exists(select name from sysobjects where name='client2') create table [client2]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("qq"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("addr"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("from"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("reason"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("bz"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("pinyin"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("sex"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("ren"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='client3') create table [client3]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("qq"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("addr"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("bz"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("pinyin"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("sex"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("ren"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("dandate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("item"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter12"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter13"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter14"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter22"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter23"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter24"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter1rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter12rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter13rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter14rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter2rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter22rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter23rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter24rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("ren2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("renrate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("ren2rate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("delphotos"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("delphotos2"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='lonindata') create table [lonindata]([no] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("lonindata"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='lonintimeset') create table [lonintimeset]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time2"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='loninbanset') create table [loninbanset]([weekname] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loninbanset"), _T("banname7"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='phonerecord') create table [phonerecord]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("phonerecord"), _T("phoneno"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("phonerecord"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='employeephonerecord') create table [employeephonerecord]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("employeephonerecord"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='unknownphonerecord') create table [unknownphonerecord]([phone] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("unknownphonerecord"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='client2phonerecord') create table [client2phonerecord]([phone] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("client2phonerecord"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='misscallrecord') create table [misscallrecord]([phone] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("misscallrecord"), _T("datetime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("misscallrecord"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("misscallrecord"), _T("type"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='phonerecordout') create table [phonerecordout]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("phonerecordout"), _T("phoneno"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("phonerecordout"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='employeephonerecordout') create table [employeephonerecordout]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("employeephonerecordout"), _T("phoneno"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("employeephonerecordout"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='unknownphonerecordout') create table [unknownphonerecordout]([phoneno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("unknownphonerecordout"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='client2phonerecordout') create table [client2phonerecordout]([phoneno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("client2phonerecordout"), _T("datetime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2phonerecordout"), _T("name"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='sendregcard') create table [sendregcard]([timestamp] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sendregcard"), _T("phones"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='sendregreceive') create table [sendregreceive]([timestamp] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("phones"), _T("nvarchar(200)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("content"), _T("nvarchar(200)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("status"), _T("nvarchar(200)")); sql = _T("if not exists(select name from sysobjects where name='insidemsg') create table [insidemsg]([timestamp] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("content"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("sender"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("receiver"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("receiver2"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("file"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='membercard2') create table [membercard2]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membercard2"), _T("card2no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard2"), _T("date"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='membercard2blue') create table [membercard2blue]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membercard2blue"), _T("card2no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard2blue"), _T("date"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='memberregblue') create table [memberregblue]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("dindanid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("card2no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("taoxi"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("date2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberregblue"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='msgtemp') create table [msgtemp]([title] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp"), _T("content"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='digitalwork') create table [digitalwork]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("waiter1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("waiter2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("waiter3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("date1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("date2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("digitalwork"), _T("date3"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='mywork') create table [mywork]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("datetime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("count1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("count2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("count3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("inputdate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("mywork"), _T("inputren"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='workrate') create table [workrate]([type] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("workrate"), _T("data6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("photoprint"), _T("area"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("shangpin"), _T("spjiage3"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='jd') create table [jd]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("jd"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='txlb') create table [txlb]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("txlb"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='growthtx') create table [growthtx]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("growthtx"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='worktype') create table [worktype]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("worktype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='expendtype') create table [expendtype]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("expendtype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("salaryset"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='dindanjd') create table [dindanjd]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("date"), _T("nvarchar(50)"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("time"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("txtype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("growthtxselname"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("user"), _T("rights2"), _T("nvarchar(max)")); sql = _T("alter table [dindanbukuan] ALTER COLUMN [item] nvarchar(max)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("designno"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("designreplaceno"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='membercard3') create table [membercard3]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("card2no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("balance"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("balance"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='memberreg3') create table [memberreg3]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='memberreg4') create table [memberreg4]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("card2no"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg4"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("paytype"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='membercard3usereg') create table [membercard3usereg]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("dindanid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3usereg"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='membercard3childusereg') create table [membercard3childusereg]([memberno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("dindanid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3childusereg"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("paytype"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='loginsign') create table [loginsign]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("cleck"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("loginsign"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='baseexpendtype') create table [baseexpendtype]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("baseexpendtype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='msgtemp2') create table [msgtemp2]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("content1"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("content2"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("check1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("check2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgtemp2"), _T("point"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("sendmark1"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("sendmark2"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='bakstate') create table [bakstate]([date] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("bakstate"), _T("photo"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("bakstate"), _T("info"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("name2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("phone2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("qq2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("birthday"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("birthday2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("time3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("taoxiname"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("taoxijiage"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("check1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("check2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("check3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3"), _T("pinyin2"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='dindansp2') create table [dindansp2]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp2"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck11"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck12"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setprintstyle3"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='framesize') create table [framesize]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("framesize"), _T("width"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("framesize"), _T("height"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("size"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='client3phonerecord') create table [client3phonerecord]([phone] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("client3phonerecord"), _T("datetime"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='client3phonerecordout') create table [client3phonerecordout]([phoneno] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("client3phonerecordout"), _T("datetime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client3phonerecordout"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck7"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck8"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck9"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck10"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent8"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent9"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent10"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck13"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("time1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("time2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("time3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck14"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='childmsg') create table [childmsg]([check] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("childmsg"), _T("days"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("childmsg"), _T("content"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("birthday"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("client2"), _T("check1"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='todaytake') create table [todaytake]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("time"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("price"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("waiter1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("waiter2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("receptionist"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("arrearage"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("remark"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("timestamp"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("content"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("mode"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("arrive"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("todaytake"), _T("id"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck15"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck11"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck12"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck13"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck14"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent11"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent12"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent13"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent14"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("dindantype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("contractno1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("contractno2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("cfno"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("calldate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("from"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("reason"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time7"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck15"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent15"), _T("nvarchar(max)")); sql = _T("if not exists(select name from sysobjects where name='dindansp3') create table [dindansp3]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp3"), _T("spid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp3"), _T("name"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp3"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time8"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time9"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("time10"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='log') create table [log]([date] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("log"), _T("datetime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("log"), _T("content"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("logdays"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='clientfrom') create table [clientfrom]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("clientfrom"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='clientreason') create table [clientreason]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("clientreason"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck17"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck18"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("user"), _T("discount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck19"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='jdd') create table [jdd]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("jdd"), _T("id"), _T("int IDENTITY(1,1) NOT NULL"));; AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("jdd"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("lonintimeset"), _T("time4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("user"), _T("discount2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("authorize"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("discount2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("authorize2"), _T("nvarchar(50)")); sql = _T("alter table [user] ALTER COLUMN [rights] nvarchar(80)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("status"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter12"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("waiter22"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("bookingdate"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='dressarea') create table [dressarea]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dressarea"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("dressarea"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("date1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshire"), _T("date2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("washcount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("date1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresshiredata"), _T("date2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("uploadrule"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck20"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='txlb2') create table [txlb2]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("txlb2"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("taoxi"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("taoxi"), _T("show"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("dress"), _T("nvarchar(150)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("bz"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("cardnum"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("cardscale"), _T("nvarchar(500)")); sql = _T("if not exists(select name from sysobjects where name='sale2type') create table [sale2type]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sale2type"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("phone"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("payed"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("balance"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("pinyin"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='singleincomemoney') create table [singleincomemoney]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("money"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("paytype"), _T("nvarchar(50)")); if (i == 0) { AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); } else { AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("autoid"), _T("int")); } AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("status5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("status6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("date6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("name6"), _T("nvarchar(50)")); sql = _T("drop view [dindanspview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dindanspview] as select dbo.dindan.id, dbo.dindan.name1,dbo.dindan.name2, "); sql += _T("dbo.dindan.status5,dbo.dindan.waiter4,dbo.dindan.urgent, dbo.dindan.time5, dbo.dindan.ren, dbo.dindan.phone1,"); sql += _T("dbo.dindan.phone2,dbo.dindan.pinyin1,dbo.dindan.pinyin2, dbo.dindan.taoxijiage, dbo.dindan.payed4, "); sql += _T("dbo.dindan.payed5, dbo.dindan.money1,dbo.dindan.status3,dbo.dindan.dindantype, dbo.dindansp.name, "); sql += _T("dbo.dindansp.status3 as status32,dbo.dindansp.status4, dbo.dindansp.status5 AS status52, dbo.dindansp.status6, "); sql += _T("dbo.dindansp.status1,dbo.dindansp.status2, dbo.dindansp.urgent as urgent2, dbo.dindansp.date4, dbo.dindansp.kind "); sql += _T("from dbo.dindan INNER JOIN dbo.dindansp ON dbo.dindan.id = dbo.dindansp.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanclient]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dindanclient] as select dbo.dindan.id, dbo.client.id AS Expr1, dbo.client.name1, dbo.client.name2,"); sql += _T("dbo.client.phone1, dbo.client.phone2, dbo.client.birthday1, dbo.client.birthday2,"); sql += _T("dbo.client.check1, dbo.client.check2, dbo.client.check3, dbo.dindan.time3, dbo.dindan.time1,"); sql += _T("dbo.dindan.taoxiname, dbo.dindan.taoxijiage, dbo.dindan.payed4 "); sql += _T("from dbo.dindan INNER JOIN dbo.client ON dbo.dindan.id = dbo.client.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [hospitalview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[hospitalview] as select dbo.hospitalclient.id, dbo.hospitalclient.name1, dbo.hospitalclient.name2, dbo.hospitalclient.sex,"); sql += _T("'birthdaytype' = CASE hospitalclient.birthdaytype WHEN '1' THEN '预产期' ELSE '宝宝生日' END,dbo.hospitalclient.birthday,"); sql += _T("dbo.hospitalclient.[from], dbo.hospitalclient.phone1, dbo.hospitalclient.phone2, dbo.hospitalclient.qq, dbo.hospitalclient.inputdate, "); sql += _T("dbo.hospitalclient.inputer,dbo.hospitalclient.pinyin1, dbo.hospitalclient.pinyin2,dbo.hospitalclientcontactreg.businesstype, "); sql += _T(" dbo.hospitalclientcontactreg.businessintention, dbo.hospitalclientcontactreg.bookingdate,dbo.hospitalclientcontactreg.desaddr, "); sql += _T(" dbo.hospitalclientcontactreg.businessremark, dbo.hospitalclient.addr1, dbo.hospitalclient.addr2, dbo.hospitalclient.addr3,"); sql += _T("dbo.hospitalclient.type, dbo.hospitalclient.hospital, dbo.hospitalclient.clerk, dbo.hospitalclientcontactreg.alarmcheck,"); sql += _T("dbo.hospitalclientcontactreg.alarmdate from dbo.hospitalclient LEFT OUTER JOIN "); sql += _T("dbo.hospitalclientcontactreg ON dbo.hospitalclient.id = dbo.hospitalclientcontactreg.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanbukuanview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dindanbukuanview] as select dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.txtype, dbo.dindan.taoxiname,"); sql += _T("dbo.dindanbukuan.money, dbo.dindanbukuan.date, dbo.dindanbukuan.kind, dbo.dindanbukuan.ren,dbo.dindanbukuan.bz, dbo.dindanbukuan.id,"); sql += _T("dbo.dindanbukuan.paytype from dbo.dindan INNER JOIN dbo.dindanbukuan ON dbo.dindan.id = dbo.dindanbukuan.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [msgview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[msgview] as select dbo.sendregreceive.phones, dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.sendregreceive.[content],"); sql += _T("dbo.sendregreceive.timestamp, dbo.dindan.time1,dbo.dindan.ren, dbo.dindan.waiter1, dbo.dindan.waiter2, dbo.dindan.waiter4,dbo.dindan.waiter5, "); sql += _T("dbo.dindan.waiter7, dbo.dindan.waiter3 from dbo.sendregreceive LEFT JOIN "); sql += _T("dbo.dindan ON dbo.sendregreceive.phones = dbo.dindan.phone1 OR dbo.sendregreceive.phones = dbo.dindan.phone2"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [dindansp] alter column [kind] nvarchar(10)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("financecheck"), _T("nvarchar(10)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("financecheck"), _T("nvarchar(10)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("financecheck"), _T("nvarchar(10)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("financecheck"), _T("nvarchar(10)")); AlterAddField(g_dbArray.ElementAt(i), _T("shangpin"), _T("hide"), _T("nvarchar(10)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("growthtxname"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info7"), _T("nvarchar(120)"),_T("nvarchar(120)")); #if 1 // 1.删除索引; 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 )"); ExecuteSQL(g_dbArray.ElementAt(i), sql); 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 )"); ExecuteSQL(g_dbArray.ElementAt(i), sql); // 2.修改类型; sql = _T("alter table [taoxi] alter column [taoxiid] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); // 3.重建索引; sql = _T("create unique nonclustered index [PrimaryKey] ON [dbo].[taoxi](taoxiid)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create unique nonclustered index [id] ON [dbo].[taoxi](taoxiid)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #else sql = _T("alter table [taoxi] ALTER COLUMN [taoxiid] nvarchar(50) not null"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #endif sql = _T("alter table [taoxi] ALTER COLUMN [zs] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck21"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck16"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("psw"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membercard3"), _T("psw"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='hospitalclient') create table [hospitalclient]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("checkmsg"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("name1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("name2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("food"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("sex"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("check1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("birthdaytype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("birthday"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("pregnancydays"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("qq"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("date1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("from"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("hospital"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("remark"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("phone5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("addr1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("addr2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("addr3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("post1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("post2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("post3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("pinyin1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("pinyin2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("inputdate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclient"), _T("inputer"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='businesstype') create table [businesstype]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("businesstype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='businessintention') create table [businessintention]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("businessintention"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='clienttype') create table [clienttype]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("clienttype"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='hospital') create table [hospital]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("hospital"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); sql = _T("if not exists(select name from sysobjects where name='hospitalclientcontactreg') create table [hospitalclientcontactreg]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("businesstype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("businessintention"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("bookingdate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("desaddr"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("businessremark"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("alarmcheck"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("hospitalclientcontactreg"), _T("alarmdate"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("hospitalmsgcheck1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("hospitalmsgcheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("childmsg"), _T("mode"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("serialno"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("serialno2"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='sendregdelay') create table [sendregdelay]([timestamp] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("msgcount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("log"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("status"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("issended"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("isautosend"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("phones"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("content"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("autoid"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregdelay"), _T("ren"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("photo"), _T("image")); sql = _T("if not exists(select name from sysobjects where name='fixedassets') create table [fixedassets]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("clerk"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("remark"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("date"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("fixedassets"), _T("photo"), _T("image")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("bz4"), _T("nvarchar(max)")); sql = _T("alter table [dindan] alter column [bz4] nvarchar(max)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("getid"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("sendregreceive"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction1"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction2"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction3"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction4"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction5"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction6"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("satisfaction7"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("bz5"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send4"), _T("int")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("send5"), _T("int")); sql = _T("if not exists(select name from sysobjects where name='msgcode') create table [msgcode]([type] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("code"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("good"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("medium"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("msgcode"), _T("bad"), _T("nvarchar(50)")); sql = _T("if not exists(select name from sysobjects where name='clientqequirement') create table [clientqequirement]([name] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("clientqequirement"), _T("id"), _T("int IDENTITY(1,1) NOT NULL")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("cardtype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("check1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("membermanage"), _T("discount"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("discount"), _T("nvarchar(50)")); sql = _T("alter table [dindansp] ALTER COLUMN [shuliang] nvarchar(120)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("financecheck"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("moneytype"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("time"), _T("nvarchar(50)")); sql = _T("drop view [memberview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[memberview] as select dbo.membermanage.name, dbo.memberreg3.memberno, dbo.memberreg3.money, dbo.memberreg3.date,"); sql += _T("dbo.memberreg3.clerk, dbo.memberreg3.id, dbo.memberreg3.financecheck, dbo.memberreg3.moneytype, dbo.memberreg3.time "); sql += _T("from dbo.memberreg3 INNER JOIN dbo.membermanage ON dbo.memberreg3.memberno = dbo.membermanage.memberno"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("count"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanbukuan"), _T("time"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincome"), _T("time"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("time"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("time"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcheck17"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("msgcontent17"), _T("nvarchar(max)")); AlterAddField(g_dbArray.ElementAt(i), _T("singleincomemoney"), _T("jdd"), _T("nvarchar(50)")); sql = _T("alter table [insidemsg] ALTER COLUMN [file] nvarchar(max)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("ps"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("zs"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck22"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("memberreg3"), _T("money2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck23"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dressinfo"), _T("type2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dresstype"), _T("type"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info8"), _T("nvarchar(120)"),_T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("clerk"), _T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("ren1"), _T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("ren2"), _T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("waiter9"), _T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("setcheck24"), _T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("outtime"), _T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("info9"), _T("nvarchar(120)"),_T("nvarchar(120)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("reverse5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("inputtime"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("photo"), _T("image")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("delcheck4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("deledit4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("hqstatus"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindansp"), _T("bz"), _T("nvarchar(200)")); sql = _T("alter table [dindanbukuan2] ALTER COLUMN [bz] nvarchar(500)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); AlterAddField(g_dbArray.ElementAt(i), _T("insidemsg"), _T("files"), _T("image")); AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("photo"), _T("image")); AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("financecheck2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("financecheck3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("gudingfeiyong"), _T("hasphoto"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays1"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays2"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays3"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays4"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays5"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("version"), _T("alarmdays6"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindanjd"), _T("branch"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("curno"), _T("nvarchar(50)")); #ifdef LYFZ_VERSION // 公司内部升级内容(可不用,升级已定型); sql = _T("alter table [client] add [photo] image"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create table [clientcontract]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [clientcontract] add [date] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [clientcontract] add [photo] image"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create table [annualfee]([id] nvarchar(50))"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [annualfee] add [year] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [annualfee] add [date] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [annualfee] add [clerk] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [client2] add [area] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [client2] add [name2] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [client2] add [status] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("alter table [client2] add [pinyin2] nvarchar(50)"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [annualfeeview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("CREATE VIEW [dbo].[annualfeeview] \ AS \ 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, \ dbo.dindan.pinyin2, dbo.annualfee.year, dbo.annualfee.date, dbo.annualfee.clerk, dbo.dindan.id, dbo.dindan.bz, dbo.dindan.status5 \ FROM dbo.dindan LEFT OUTER JOIN \ dbo.annualfee ON dbo.dindan.id = dbo.annualfee.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #endif #if 1 // Jeff add:dindan添加两字段 AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("xplrr"), _T("nvarchar(50)")); AlterAddField(g_dbArray.ElementAt(i), _T("dindan"), _T("xplrtime"), _T("nvarchar(50)")); #endif AlterAddField(g_dbArray.ElementAt(i), _T("renyuan"), _T("level"), _T("nvarchar(50)")); /////////////////////////////////////////////////////////////////// takeview sql = _T("drop view [alarmview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #if 0 // Jeff使用新的视图,添加"拍照时间"、"选片时间" sql = _T("CREATE VIEW [dbo].[alarmview] \ AS \ 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,\ (SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status1 = '未完成') AND (id = dbo.dindan.id)) AS cot1,\ (SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status2 = '未取') AND (id = dbo.dindan.id)) AS cot2 \ FROM dbo.dindan"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #else 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,"); sql += _T("dbo.dindan.status,dbo.dindan.status2,dbo.dindan.status8,dbo.dindan.phone1,dbo.dindan.phone2,dbo.dindan.pinyin1,dbo.dindan.pinyin2,"); sql += _T("(SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status1 = '未完成') AND (id = dbo.dindan.id)) AS cot1,"); sql += _T("(SELECT count(*) FROM dbo.dindansp WHERE (kind<>'2' and name<>'入册' and name<>'入底' and status2 = '未取') AND (id = dbo.dindan.id)) AS cot2 "); sql += _T("FROM dbo.dindan"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #endif sql = _T("drop view [accountview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); 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,"); 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 "); sql += _T("from dbo.[user] LEFT OUTER JOIN dbo.renyuan ON dbo.[user].name = dbo.renyuan.name"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanspview3]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); 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,"); 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"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanspview4]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); 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,"); 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"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [hqview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); 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,"); sql += _T(" dbo.client.check3, dbo.dindan.ren,dbo.dindan.taoxiname, dbo.dindan.taoxijiage, dbo.dindansp.name, dbo.dindansp.hqdate,dbo.dindansp.hqtime,"); sql += _T("dbo.dindansp.ren1, dbo.dindansp.ren2, dbo.dindansp.kind,dbo.dindansp.hqstatus,dbo.dindansp.bz from dbo.dindan INNER JOIN "); sql += _T("dbo.client ON dbo.dindan.id = dbo.client.id INNER JOIN dbo.dindansp ON dbo.client.id = dbo.dindansp.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanspview2]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dindanspview2] as select dbo.shangpin.splb, dbo.dindansp.id, dbo.dindansp.spid, dbo.dindansp.shuliang, dbo.dindansp.kind, "); sql += _T("dbo.dindansp.price, dbo.dindansp.name, dbo.dindansp.no,dbo.dindansp.status1, dbo.dindansp.status2, dbo.dindansp.status3, dbo.dindansp.status4,"); sql += _T("dbo.dindansp.autoid, dbo.dindansp.date1, dbo.dindansp.date2,dbo.dindansp.date3, dbo.dindansp.date4, dbo.dindansp.name1,dbo.dindansp.name2,"); sql += _T("dbo.dindansp.name3, dbo.dindansp.name4, dbo.dindansp.hqdate,dbo.dindansp.hqtime, dbo.dindansp.urgent, dbo.dindansp.taketime, dbo.dindansp.no2,"); sql += _T("dbo.dindansp.status5, dbo.dindansp.status6, dbo.dindansp.date5,dbo.dindansp.date6, dbo.dindansp.name5, dbo.dindansp.name6,dbo.dindansp.growthtxname,"); sql += _T("dbo.dindansp.ps, dbo.dindansp.zs, dbo.dindansp.ren1,dbo.dindansp.ren2 from dbo.dindansp LEFT OUTER JOIN "); sql += _T(" dbo.shangpin ON dbo.dindansp.spid = dbo.shangpin.spid"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [takeview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); 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,"); 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,"); sql += _T("dbo.dindanjd.name, dbo.dindanjd.date, dbo.dindanjd.time,dbo.dindanjd.waiter1, dbo.dindanjd.waiter2, dbo.dindanjd.status, dbo.dindanjd.waiter12,"); sql += _T("dbo.dindanjd.waiter22, dbo.dindanjd.bookingdate, dbo.dindanjd.dress,dbo.dindanjd.bz, dbo.dindanjd.clerk, dbo.dindanjd.inputtime, dbo.dindanjd.branch,"); sql += _T("dbo.dindan.status3, dbo.dindan.payed4, dbo.dindan.payed5, dbo.dindan.money1, dbo.client.birthday1, dbo.client.check1, dbo.client.sex "); 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"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dindanview] as select *,"); sql += _T("(SELECT (case when exists(SELECT id FROM dbo.dindansp WHERE id = dbo.dindan.id and kind<>'5' and name<>'入册' and"); sql += _T(" name<>'入底' and status1<>'OK') then '未完成' else 'OK' end)) AS STA from dbo.dindan"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [digitalview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("CREATE VIEW [dbo].[digitalview] \ AS \ SELECT id, name1, name2, taoxiname, taoxijiage, waiter5, time8, waiter7, time9, waiter4, time10, status4, status6, status5, txtype,\ (SELECT SUM(CAST(money AS float)) AS Expr1 \ FROM dbo.dindanbukuan \ WHERE (bz = '选片二销') AND (id = dbo.dindan.id)) AS money2,\ (SELECT SUM(CONVERT(float, ps)) AS Expr2 \ FROM dbo.dindansp \ WHERE (id = dbo.dindan.id)) AS ps,\ (SELECT SUM(CONVERT(float, zs)) AS Expr3 \ FROM dbo.dindansp AS dindansp_1 \ WHERE (id = dbo.dindan.id)) AS zs \ FROM dbo.dindan"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dressview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dressview] as select dbo.dressinfo.no, dbo.dressinfo.name, dbo.dressinfo.count, dbo.dressinfo.salecount,"); sql += _T("dbo.dresshiredata.count AS count2, dbo.dresshiredata.isreturn,dbo.dresshiredata.hireorsale, dbo.dresshiredata.date1, dbo.dresshiredata.date2,"); sql += _T("dbo.dresshire.name AS clientname, dbo.dresshire.phone, dbo.dresshire.clerk,dbo.dresshire.date from dbo.dresshire INNER JOIN "); sql += _T("dbo.dresshiredata ON dbo.dresshire.id = dbo.dresshiredata.id RIGHT OUTER JOIN dbo.dressinfo ON dbo.dresshiredata.no = dbo.dressinfo.no"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [photoprintview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #if 0 // Jeff delete.for ddf; sql = _T("CREATE VIEW [dbo].[photoprintview] \ AS \ 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, \ dbo.photoprint.time2, dbo.photoprint.area, dbo.dindan.status5, dbo.dindan.urgent, dbo.dindan.time5, dbo.dindan.phone1, dbo.dindan.phone2, dbo.dindan.pinyin1, \ dbo.dindan.pinyin2, dbo.dindan.status3, dbo.dindan.dindantype \ FROM dbo.dindan LEFT OUTER JOIN \ dbo.photoprint ON dbo.dindan.id = dbo.photoprint.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #else // Jeff add by ddf at 2014.08.02;相片冲印视图添加接单人、设计师两项; // Jeff: 2014.09.01,添加返工及返工日期; sql = _T("create view [dbo].[photoprintview] AS SELECT dbo.dindan.id, dbo.dindan.name1, dbo.dindan.name2, dbo.dindan.ren, dbo.dindan.waiter4, "); sql += _T("dbo.photoprint.name, dbo.photoprint.count, dbo.photoprint.status1, dbo.photoprint.status2, dbo.photoprint.time1, "); sql += _T("dbo.photoprint.time2, dbo.photoprint.statusOfReWork,dbo.photoprint.timeOfReWork,dbo.photoprint.area, dbo.dindan.status5, dbo.dindan.urgent, dbo.dindan.time5, "); sql += _T("dbo.dindan.phone1, dbo.dindan.phone2, dbo.dindan.pinyin1, dbo.dindan.pinyin2, dbo.dindan.status3, dbo.dindan.dindantype "); sql += _T("FROM dbo.dindan LEFT OUTER JOIN dbo.photoprint ON dbo.dindan.id = dbo.photoprint.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #endif sql = _T("drop view [singleincomemoneyview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[singleincomemoneyview] as select dbo.singleincomemoney.*, dbo.singleincome.name, dbo.singleincome.sale2type,"); sql += _T("dbo.singleincome.renyuan3, dbo.singleincome.renyuan1 "); sql += _T("from dbo.singleincomemoney INNER JOIN dbo.singleincome ON dbo.singleincomemoney.id = dbo.singleincome.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [dindanbukuanview2]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[dindanbukuanview2] as select dbo.dindan.name1, dbo.dindan.name2, dbo.dindanbukuan.autoid, dbo.dindanbukuan.id,"); sql += _T("dbo.dindanbukuan.money, dbo.dindanbukuan.ren, dbo.dindanbukuan.date, dbo.dindanbukuan.bz, dbo.dindanbukuan.kind,"); sql += _T("dbo.dindanbukuan.ren2, dbo.dindanbukuan.item, dbo.dindanbukuan.paytype, dbo.dindanbukuan.jdd, dbo.dindanbukuan.financecheck,"); sql += _T("dbo.dindanbukuan.discount, dbo.dindanbukuan.time "); sql += _T("from dbo.dindanbukuan INNER JOIN dbo.dindan ON dbo.dindanbukuan.id = dbo.dindan.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [qjview]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[qjview] as select dbo.dindan.id, dbo.dindan.name2, dbo.dindan.name1, dbo.dindansp.name,"); sql += _T("dbo.dindansp.shuliang, dbo.dindansp.status4, dbo.dindansp.date2, dbo.dindansp.status1,dbo.dindansp.date3, dbo.dindansp.status3 "); sql += _T("from dbo.dindan INNER JOIN dbo.dindansp ON dbo.dindan.id = dbo.dindansp.id"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [memberview2]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[memberview2] as select dbo.membermanage.memberno, dbo.membermanage.name, dbo.membermanage.date,"); sql += _T("dbo.membermanage.money, dbo.membermanage.autoid,dbo.membermanage.sex, dbo.membermanage.phone, dbo.membermanage.qq,"); sql += _T("dbo.membermanage.addr, dbo.membermanage.occupation,dbo.membermanage.birthday, dbo.membermanage.pinyin, dbo.membermanage.balance,"); sql += _T("dbo.membermanage.sendmark1, dbo.membermanage.sendmark2,dbo.membermanage.psw, dbo.membermanage.cardtype,dbo.membermanage.check1,"); sql += _T("dbo.membermanage.discount, dbo.membercard2.card2no,dbo.membercard2.date AS card2date "); sql += _T("from dbo.membermanage LEFT OUTER JOIN dbo.membercard2 ON dbo.membermanage.memberno = dbo.membercard2.memberno"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("drop view [memberview3]"); ExecuteSQL(g_dbArray.ElementAt(i), sql); sql = _T("create view [dbo].[memberview3] as select dbo.membermanage.memberno, dbo.membermanage.name, dbo.membermanage.date,"); sql += _T("dbo.membermanage.money, dbo.membermanage.autoid,dbo.membermanage.sex, dbo.membermanage.phone, dbo.membermanage.qq,"); sql += _T("dbo.membermanage.addr, dbo.membermanage.occupation,dbo.membermanage.birthday, dbo.membermanage.pinyin, dbo.membermanage.balance,"); sql += _T("dbo.membermanage.sendmark1, dbo.membermanage.sendmark2,dbo.membermanage.psw, dbo.membermanage.cardtype,"); sql += _T("dbo.membermanage.check1, dbo.membermanage.discount, dbo.memberreg.card2no, dbo.memberreg.date2,dbo.memberreg.dindanid, dbo.memberreg.taoxi,"); sql += _T("dbo.memberreg.money AS card2money, dbo.memberreg.date as card2date, dbo.memberreg.type "); sql += _T("from dbo.membermanage LEFT OUTER JOIN dbo.memberreg ON dbo.membermanage.memberno = dbo.memberreg.memberno"); ExecuteSQL(g_dbArray.ElementAt(i), sql); #if JEFF_DELETE_ON CDatabase *pCurdb = g_dbArray.ElementAt(i); CStringArray idarray; CStringArray idarray2; try { CRecordset myset(pCurdb); sql = _T("select id from dindan"); myset.Open(CRecordset::forwardOnly, sql); while (!myset.IsEOF()) { myset.GetFieldValue(_T("id"), sql); idarray.Add(sql); myset.MoveNext(); } myset.Close(); sql = _T("select distinct(id) from dindanjd"); myset.Open(CRecordset::forwardOnly, sql); while (!myset.IsEOF()) { myset.GetFieldValue(_T("id"), sql); idarray2.Add(sql); myset.MoveNext(); } myset.Close(); } catch (CDBException* e) { #ifdef USE_CONSOLE AfxMessageBox(e->m_strError); #else _tprintf(_T("%s\n"), e->m_strError); #endif e->Delete(); } for (int i = 0; i < idarray.GetSize(); i++) { if (::FindArray(&idarray2, idarray.ElementAt(i)) == -1) { sql = _T("insert into dindanjd(id,name,status) values('") + idarray.ElementAt(i) + _T("', '系统默认景点', '未拍')"); pCurdb->ExecuteSQL(sql); } } sql = _T("update dindanjd set status='OK' where id in(select id from dindan where status='OK')"); pCurdb->ExecuteSQL(sql); #endif } // ---------------------------------------------------------------------------------------------------------------- try { sql.Format(_T("update [version] set version='%d%d'"), g_arrFileVersion[2], g_arrFileVersion[3]); g_db.ExecuteSQL(sql);//financecheck sql = _T("update childmsg set mode='0' where mode is null"); g_db.ExecuteSQL(sql); //sql= _T("update [db].[dbo].[membermanage] set [cardtype]='普通卡' where [cardtype] is null");//Jeff.deal; sql = _T("update [dbo].[membermanage] set [cardtype]='普通卡' where [cardtype] is null");//Jeff.deal; g_db.ExecuteSQL(sql); sql = _T("update taoxi set type='默认类别' where type is null"); g_db.ExecuteSQL(sql); sql = _T("update taoxi set show='显示' where show is null"); g_db.ExecuteSQL(sql); sql = _T("update renyuan set dimission='在职' where dimission<>'离职'"); g_db.ExecuteSQL(sql); sql = _T("update dindan set status8='未看' where status8<>'OK' and status8<>'修改中'"); g_db.ExecuteSQL(sql); sql = _T("update dindan set status8='未看' where status8 is null"); g_db.ExecuteSQL(sql); sql = _T("update dindan set [tichenren1]='' where [tichenren1] is null"); g_db.ExecuteSQL(sql); sql = _T("update dindan set [tichenren2]='' where [tichenren2] is null"); g_db.ExecuteSQL(sql); sql = _T("update dindan set [tichenren3]='' where [tichenren3] is null"); g_db.ExecuteSQL(sql); sql = _T("update dindan set [tichenren4]='' where [tichenren4] is null"); g_db.ExecuteSQL(sql); sql = _T("update dindan set [tichenren5]='' where [tichenren5] is null"); g_db.ExecuteSQL(sql); sql = _T("update dindanbukuan set bz='化妆二销' where bz='拍照补款'"); g_db.ExecuteSQL(sql); sql = _T("update dindanbukuan set bz='选片二销' where bz='选片补款'"); g_db.ExecuteSQL(sql); sql = _T("update dindanbukuan set paytype='现金' where paytype is null"); g_db.ExecuteSQL(sql); sql = _T("update singleincome set paytype='现金' where paytype is null"); g_db.ExecuteSQL(sql); } catch (CDBException * e) { AfxMessageBox(e->m_strError); _tprintf(_T("%s!\n"), e->m_strError); e->Delete(); return -1; } CStdioFile fp; CString strModulPath(g_ModulePath); fp.Open(strModulPath + _T("\\系统文件\\图片\\替换说明.txt"), CFile::modeCreate | CFile::modeWrite); fp.WriteString(_T("\ 此文件夹中图片可替换为贵店图片,通过修改PSD保存为同名jpg即可\n\ 背景.jpg文件尺寸必须为1660x1177\n\ 标题.jpg文件尺寸必须为651x87\n\ 标题-选片文件尺寸必须为2000x399\n\ 如需PSD文件,请向利亚方舟索取\n\ 替换后重启DBServer.exe和YLGL.exe生效")); fp.Close(); ::CopyFile(strModulPath + _T("\\系统文件\\图片\\替换说明.txt"), strModulPath + _T("\\系统文件\\图片-红色风格\\替换说明.txt"), 0); return 0; } int CExecutor::UpdateFile(__in const DWORD dwResourceID, __in const TCHAR *pExt, __in const TCHAR *pFileFullName) { HGLOBAL hGlobal = NULL; HRSRC hSource = NULL; LPVOID lpBuffer = NULL; DWORD dwSize = 0; BOOL bResult = FALSE; if (_tcscmp(pExt, _T("EXE")) == 0) { FindAndCloseProcess(pFileFullName); } if (DeleteFile(pFileFullName) == 0) { if (ERROR_FILE_NOT_FOUND != GetLastError()) { #ifdef USE_CONSOLE CString strError; strError.Format(_T("%s:文件拒绝访问,删除文件失败!"), pFileFullName); AfxMessageBox(strError); #else _tprintf(_T("文件拒绝访问, 删除旧文件失败!\n")); system("pause"); #endif _exit(0); return -1; } } // 1.定位我们的自定义资源,这里因为我们是从本模块定位资源,所以将句柄简单地置为NULL即可 hSource = FindResource(NULL, MAKEINTRESOURCE(dwResourceID), pExt); if (hSource == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); system("pause"); #endif _exit(0); return -1; } // 2.获取资源的大小; dwSize = (UINT)SizeofResource(NULL, hSource); // 3.加载资源; hGlobal = LoadResource(NULL, hSource); if (hGlobal == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); system("pause"); #endif _exit(0); return -1; } // 4.锁定资源,获取buffer; lpBuffer = LockResource(hGlobal); if (lpBuffer == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); system("pause"); #endif _exit(0); return -1; } CFile fp; if (fp.Open(pFileFullName, CFile::modeCreate | CFile::modeWrite) == 0) { #ifdef USE_CONSOLE AfxMessageBox(_T("创建文件失败,升级失败!")); #else _tprintf(_T("创建文件失败,升级失败!\n")); system("pause"); #endif _exit(0); return -1; } fp.Write(lpBuffer, dwSize); fp.Close(); UnlockResource(hGlobal); FreeResource(hGlobal); return 0; } int CExecutor::UpgradeExe(__in BOOL bSteal) { WriteLog(_T("更新程序文件")); // 更换文件;------------------------------------------------------------------------- TCHAR szExecuteFile[MAX_PATH] = _T(""); /*StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sAutoRun.exe"), g_ModulePath); UpdateFile(AutoRun, _T("EXE"), szExecuteFile);*/ memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sAutoUpdate.exe"), g_ModulePath); UpdateFile(AutoUpdate, _T("EXE"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sregsvr32.exe"), g_ModulePath); UpdateFile(regsvr32, _T("EXE"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sSMSHandle.exe"), g_ModulePath); UpdateFile(SMSHandle, _T("EXE"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sLog4C.dll"), g_ModulePath); UpdateFile(LOG4C_DLL, _T("DLL"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sYLGL.exe"), g_ModulePath); UpdateFile(YLGL, _T("EXE"), szExecuteFile); #if JEFF_DELETE_ON // 使用语言包; memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%slyfzSimpChs.dll"), g_ModulePath); UpdateFile(lyfzSimpChs, _T("DLL"), szExecuteFile); #endif memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sDBServer.exe"), g_ModulePath); UpdateFile(DBServer, _T("EXE"), szExecuteFile); UpgradeVersion(); //---------------------------------------------------------------- memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\1.lia"), g_ModulePath); UpdateFile(lia_1, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\2.lia"), g_ModulePath); UpdateFile(lia_2, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\3.lia"), g_ModulePath); UpdateFile(lia_3, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\4.lia"), g_ModulePath); UpdateFile(lia_4, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\5.lia"), g_ModulePath); UpdateFile(lia_5, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\6.lia"), g_ModulePath); UpdateFile(lia_6, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\10.lia"), g_ModulePath); UpdateFile(lia_10, _T("LIA"), szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%s系统文件\\skin\\10-red.lia"), g_ModulePath); UpdateFile(red_10, _T("LIA"), szExecuteFile); WriteLog(_T("更新程序文件成功")); //--------------------------------------------------------------------- // A.往update表的data 添加YLGL.exe try { g_pCurdb = &g_db; HGLOBAL hGlobal = NULL; HRSRC hSource = NULL; LPVOID lpVoid = NULL; DWORD dwSize = 0; BOOL bResult = FALSE; hSource = FindResource(NULL, MAKEINTRESOURCE(YLGL), _T("EXE")); if (hSource == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } hGlobal = LoadResource(NULL, hSource); if (hGlobal == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } lpVoid = LockResource(hGlobal); if (lpVoid == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } dwSize = (UINT)SizeofResource(NULL, hSource); BYTE *pData = new BYTE[dwSize]; memcpy(pData, (BYTE*)hGlobal, dwSize); UnlockResource(hGlobal); // 16Bit Windows Needs This FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release) hGlobal = NULL; CTableupdate rsSt; rsSt.m_pDatabase = &g_db; rsSt.Open(); if (rsSt.IsEOF()) { rsSt.AddNew(); } else { rsSt.Edit(); } rsSt.m_data.m_dwDataLength = dwSize; HGLOBAL hGlobal1 = GlobalAlloc(GPTR, dwSize); hGlobal1 = GlobalAlloc(GPTR, dwSize); rsSt.m_data.m_hData = GlobalLock(hGlobal1); memcpy(rsSt.m_data.m_hData, pData, dwSize); rsSt.SetFieldDirty(&rsSt.m_data); rsSt.SetFieldNull(&rsSt.m_data, FALSE); rsSt.Update(); GlobalUnlock(hGlobal1); rsSt.Close(); delete[]pData; } catch (CDBException * e) { AfxMessageBox(e->m_strError); e->Delete(); return -1; } // B.往update表的data7 添加004.lia; try { g_pCurdb = &g_db; HGLOBAL hGlobal = NULL; HRSRC hSource = NULL; LPVOID lpVoid = NULL; DWORD dwSize = 0; BOOL bResult = FALSE; hSource = FindResource(NULL, MAKEINTRESOURCE(lia_004), _T("LIA")); if (hSource == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } hGlobal = LoadResource(NULL, hSource); if (hGlobal == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } lpVoid = LockResource(hGlobal); if (lpVoid == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } dwSize = (UINT)SizeofResource(NULL, hSource); BYTE *pData = new BYTE[dwSize]; memcpy(pData, (BYTE*)hGlobal, dwSize); UnlockResource(hGlobal); // 16Bit Windows Needs This FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release) hGlobal = NULL; CTableupdate rsSt; rsSt.m_pDatabase = &g_db; rsSt.Open(); if (rsSt.IsEOF()) rsSt.AddNew(); else rsSt.Edit(); rsSt.m_data7.m_dwDataLength = dwSize; HGLOBAL hGlobal1 = GlobalAlloc(GPTR, dwSize); hGlobal1 = GlobalAlloc(GPTR, dwSize); rsSt.m_data7.m_hData = GlobalLock(hGlobal1); memcpy(rsSt.m_data7.m_hData, pData, dwSize); rsSt.SetFieldDirty(&rsSt.m_data7); rsSt.SetFieldNull(&rsSt.m_data7, FALSE); rsSt.Update(); GlobalUnlock(hGlobal1); rsSt.Close(); delete[]pData; } catch (CDBException * e) { AfxMessageBox(e->m_strError); e->Delete(); return -1; } // C.往update表的ocx字段 添加 MSCHRT20.OCX; try { g_pCurdb = &g_db; HGLOBAL hGlobal = NULL; HRSRC hSource = NULL; LPVOID lpVoid = NULL; DWORD dwSize = 0; BOOL bResult = FALSE; hSource = FindResource(NULL, MAKEINTRESOURCE(MSCHRT20), _T("OCX")); if (hSource == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } hGlobal = LoadResource(NULL, hSource); if (hGlobal == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } lpVoid = LockResource(hGlobal); if (lpVoid == NULL) { #ifdef USE_CONSOLE AfxMessageBox(_T("载入资源失败, 升级失败!")); #else _tprintf(_T("载入资源失败, 升级失败!\n")); #endif return -1; } dwSize = (UINT)SizeofResource(NULL, hSource); BYTE *pData = new BYTE[dwSize]; memcpy(pData, (BYTE*)hGlobal, dwSize); UnlockResource(hGlobal); // 16Bit Windows Needs This FreeResource(hGlobal); // 16Bit Windows Needs This (32Bit - Automatic Release) hGlobal = NULL; CTableupdate rsSt; rsSt.m_pDatabase = &g_db; rsSt.Open(); if (rsSt.IsEOF()) rsSt.AddNew(); else rsSt.Edit(); rsSt.m_lbOCX.m_dwDataLength = dwSize; HGLOBAL hGlobal1 = GlobalAlloc(GPTR, dwSize); hGlobal1 = GlobalAlloc(GPTR, dwSize); rsSt.m_lbOCX.m_hData = GlobalLock(hGlobal1); memcpy(rsSt.m_lbOCX.m_hData, pData, dwSize); rsSt.SetFieldDirty(&rsSt.m_lbOCX); rsSt.SetFieldNull(&rsSt.m_lbOCX, FALSE); rsSt.Update(); GlobalUnlock(hGlobal1); rsSt.Close(); delete[]pData; } catch (CDBException * e) { AfxMessageBox(e->m_strError); e->Delete(); return -1; } CString strSQL; strSQL.Format(_T("update [%s].[dbo].[version] set version='%02d%02d'"), g_szDBName, g_arrFileVersion[2], g_arrFileVersion[3]); g_pCurdb->ExecuteSQL(strSQL); WriteLog(_T("完成所有更新")); return 0; } // Jeff.解决旧版本与新版本间由于起始编号产生的问题。 int CExecutor::VerifyCurrentNoQuestion() { WriteLog(_T("解决旧版本与新版本间由于起始编号产生的问题")); // 1.连接数据库,获取全部起始编号为0的订单; CArray StrArray; TCHAR pfilter[1024] = { 0 }; //GetDindanCurData(StrArray,"curno='0' and status3<>'OK'"); GetDindanCurData(StrArray, _T("status3<>'OK'")); // 2.所得的订单号来对指定文件夹进行遍历查找,获得文件数; TCHAR szLocalName[MAX_PATH] = { 0 }; TCHAR szShareFolder[MAX_PATH] = { 0 }; DWORD dwleng = MAX_PATH; ::GetComputerName(szLocalName, &dwleng); StringCchPrintf(szShareFolder, MAX_PATH, _T("\\\\%s\\%s"), szLocalName, _T("客户原片(管理软件)$")); int nHasDealOrder = 0; int nSizePhoto = 0; TCHAR szSQL[1024] = { 0 }; TCHAR szOrderFolder[MAX_PATH] = { 0 }; int nCount = StrArray.GetSize(); for (int i = 0; i < nCount; i++) { //memset(szOrderFolder, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szOrderFolder, MAX_PATH, _T("%s\\%s"), szShareFolder, StrArray.ElementAt(i).ElementAt(0)); nSizePhoto = GetCountOfOrderFolderPhotoFile(szOrderFolder); if (nSizePhoto != 0) { StringCchPrintf(szLocalName, MAX_PATH, _T("文件夹:%s的相片数:%d"), szOrderFolder, nSizePhoto); WriteLog(szLocalName); // 订单文件夹里的相片数大于0,修改起始编号值; //memset(szSQL, 0, 1024 * sizeof(TCHAR)); StringCchPrintf(szSQL, MAX_PATH, _T("update dindan set curno='%d' where id='%s'"), nSizePhoto, StrArray.ElementAt(i).ElementAt(0)); g_db.ExecuteSQL(szSQL); nHasDealOrder++; } } WriteLog(_T("起始编号修正完成")); return nHasDealOrder; } void CExecutor::GetDindanCurData(CArray &StrArry, const TCHAR *pfilter) { AfxMessageBox(_T("GetDindanCurData")); CRecordset tagRSet(&g_db); CString strSQL = _T("select count(*) as cot from dindan"); TCHAR szSQL[1024] = _T(""); if (pfilter && _tcscmp(pfilter, _T("")) != 0) StringCchPrintf(szSQL, 1024, _T("%s where %s"), strSQL, pfilter); else StringCchPrintf(szSQL, 1024, _T("%s"), strSQL); try { tagRSet.Open(CRecordset::forwardOnly, szSQL); tagRSet.GetFieldValue(_T("cot"), strSQL); tagRSet.Close(); } catch (CDBException* e) { AfxMessageBox(e->m_strError); e->Delete(); return; } //WriteLog("订单起始编号为0的订单个数="+strSQL); WriteLog(_T("未取件的订单个数=") + strSQL); #ifdef UNICODE long count = _ttol(strSQL); //_wtol #else long count = atol(strSQL); #endif if ( count == 0 ) // 没有未取件的; return; StrArry.SetSize(count, 1); try { CTabledindan rsSt; rsSt.m_pDatabase = &g_db; if (pfilter && _tcscmp(pfilter, _T("")) != 0) rsSt.m_strFilter = pfilter; rsSt.Open(); int nIndex = 0; while (!rsSt.IsEOF()) { //StrArry.ElementAt(nIndex).RemoveAll(); StrArry.ElementAt(nIndex).Add(rsSt.m_id); StrArry.ElementAt(nIndex).Add(rsSt.m_curno); WriteLog(_T("未取件的订单:") + rsSt.m_id); // 这里容易出错,因为写文件属于I/O操作,速度相对比较慢. rsSt.MoveNext(); nIndex++; if (StrArry.GetSize() <= nIndex) break; } rsSt.Close(); StrArry.SetSize(nIndex, 1); } catch (CDBException* e) { AfxMessageBox(e->m_strError); e->Delete(); } } // 相片后缀:jpg、raw、cr2、NEF 四种常用后缀 int CExecutor::GetCountOfOrderFolderPhotoFile(__in const TCHAR *pOrderFolder) { //AfxMessageBox(_T("GetCountOfOrderFolderPhotoFile")); CStringArray StrSubFoloderArray; using namespace helper_coffs; ffsco o; o.dirs(1); // Jeff.1:查找子目录; //o.find(LPCSTR(pOrderFolder), LPCSTR("*.*")); // 可能存在m和s开头的缩略图,需要过滤掉; o.find(LPCTSTR(pOrderFolder), LPCTSTR(_T("*.*"))); // 可能存在m和s开头的缩略图,需要过滤掉; if (o.count() == 0) return 0; // 获取子目录数; ffsco::typeT coo; ffsco::typeT::iterator it; coo = o.co_dir(); for (it = coo.begin(); it != coo.end(); it++) { if (::FindArray(&StrSubFoloderArray, (*it).c_str()) == -1) StrSubFoloderArray.Add((*it).c_str()); } // 获取子目录下的文件数; CStringArray StrPhotoArray; for (int n = 0; n < StrSubFoloderArray.GetSize(); n++) { ffsco op; op.dirs(0); //op.find(LPCSTR(StrSubFoloderArray.ElementAt(n)), LPCSTR("*.*")); op.find(LPCTSTR(StrSubFoloderArray.ElementAt(n)), LPCTSTR(_T("*.*"))); ffsco::typeT coo; ffsco::typeT::iterator itp; coo = op.co_file(); for (itp = coo.begin(); itp != coo.end(); itp++) { StrPhotoArray.Add((*itp).c_str()); } } CString strTempFile; int nIndex = 0; int nSizeOfFile = 0; // 记录相片文件数; int nCount = StrPhotoArray.GetSize(); for (int i = 0; i < nCount; i++) { strTempFile = StrPhotoArray.ElementAt(i); nIndex = strTempFile.ReverseFind('\\'); strTempFile = strTempFile.Right(strTempFile.GetLength() - nIndex - 1); if (strTempFile.Left(1) == _T("m") || strTempFile.Left(1) == _T("s")) { continue; } strTempFile = strTempFile.Right(4); strTempFile.MakeLower(); if (strTempFile == _T(".jpg")) { nSizeOfFile++; } else if (strTempFile == _T(".raw")) { nSizeOfFile++; } else if (strTempFile == _T(".cr2")) { nSizeOfFile++; } else if (strTempFile == _T(".nef")) { nSizeOfFile++; } } if (nSizeOfFile != 0) return ++nSizeOfFile; return 0; } // Jeff.创建新的数据库; int CExecutor::SQLCreateDatabase(__in const TCHAR *pStoragePath, __in const TCHAR *pDatabaseName) { TCHAR szDBFile[MAX_PATH] = _T(""); StringCchPrintf(szDBFile, MAX_PATH, _T("%s\\%s.mdf"), pStoragePath, pDatabaseName); TCHAR szDBLogFile[MAX_PATH] = _T(""); StringCchPrintf(szDBLogFile, MAX_PATH, _T("%s\\%s_log.ldf"), pStoragePath, pDatabaseName); TCHAR szLogFile[MAX_PATH] = _T(""); StringCchPrintf(szLogFile, MAX_PATH, _T("%s_log"), pDatabaseName); // 创建指定名称的空数据库; TCHAR szSQL[10240] = _T(""); //strcat_s(szSQL,"USE [master] GO CREATE DATABASE ["); _tcscat_s(szSQL, _T("CREATE DATABASE [")); _tcscat_s(szSQL, pDatabaseName); _tcscat_s(szSQL, _T("] ON PRIMARY ( NAME = N'")); _tcscat_s(szSQL, pDatabaseName); _tcscat_s(szSQL, _T("',FILENAME = N'")); _tcscat_s(szSQL, szDBFile); _tcscat_s(szSQL, _T("', SIZE = 37760KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB) LOG ON (NAME = N'")); _tcscat_s(szSQL, szLogFile); _tcscat_s(szSQL, _T("',FILENAME = N'")); _tcscat_s(szSQL, szDBLogFile); _tcscat_s(szSQL, _T("',SIZE = 32448KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)")); CDatabase *pMasterdb = GetSQLMaster(); try { pMasterdb->ExecuteSQL(szSQL); } catch (CDBException * e) { AfxMessageBox(e->m_strError); _tprintf(_T("%s!\n"), e->m_strError); if (pMasterdb) { delete pMasterdb; pMasterdb = NULL; } e->Delete(); return -1; } if (pMasterdb) delete pMasterdb; pMasterdb = NULL; return 0; } int CExecutor::UpgradeVersion() { TCHAR szExecuteFile[MAX_PATH] = _T(""); if( g_nVersion == 2 || g_nVersion == 3 ) EnterpriseVersion(); else DeleteEnterpriseExe(); return 0; } int CExecutor::EnterpriseVersion() { TCHAR szExecuteFile[MAX_PATH] = _T(""); return 0; } void CExecutor::DeleteEnterpriseExe() // 升级非企业版,删除以下文件 ; { TCHAR szExecuteFile[MAX_PATH] = _T(""); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sDataSyncSend.exe"), g_ModulePath); FindAndCloseProcess(szExecuteFile); ::DeleteFile(szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sCPhotoFTPSend.exe"), g_ModulePath); FindAndCloseProcess(szExecuteFile); ::DeleteFile(szExecuteFile); memset(szExecuteFile, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szExecuteFile, MAX_PATH, _T("%sCPhotoFTPReceive.exe"), g_ModulePath); FindAndCloseProcess(szExecuteFile); ::DeleteFile(szExecuteFile); } // 修改选片或选设计时选中的和删除的相片的分隔符; void CExecutor::AlterSeparator(CDatabase *pDBInstance) { if (pDBInstance == NULL) return; // update dindansp set [no]=replace([no],',','|'),[no2]=replace([no2],',','|') // update dindan set [delphotos]=replace([delphotos],';','|'),[delphotos2]=replace([delphotos2],';','|') // 已删除的选片保存在dindan.delphotos; // 已删除的设计片保存在dindan.delphotos2; // 已选中的选片保存在dindansp中no; // 已选中的设计保存在dindansp中no2; try { pDBInstance->ExecuteSQL(_T("update dindansp set [no]=replace([no],',','|'),[no2]=replace([no2],',','|')")); } catch (CDBException *e) { AfxMessageBox(e->m_strError); e->Delete(); } try { pDBInstance->ExecuteSQL(_T("update dindan set [delphotos]=replace([delphotos],';','|'),[delphotos2]=replace([delphotos2],';','|')")); } catch (CDBException *e) { AfxMessageBox(e->m_strError); e->Delete(); } } BOOL CExecutor::InitMaster() { CDatabase tagMaster; TCHAR szDBSource[MAX_PATH] = _T(""); if (g_dwDBServerPort != 0) StringCchPrintf(szDBSource, MAX_PATH, _T("%s,%d"), g_szDBSource, g_dwDBServerPort); else StringCchPrintf(szDBSource, MAX_PATH, _T("%s"), g_szDBSource); TCHAR szSQLCon[MAX_PATH]; memset(szSQLCon, 0, MAX_PATH*sizeof(TCHAR)); StringCchPrintf(szSQLCon, MAX_PATH, _T("driver={SQL Server};Server=%s;DATABASE=master;uid=%s;pwd=%s"), szDBSource, g_szDBAccount, g_szDBPassWord); if (!tagMaster.OpenEx(szSQLCon, CDatabase::noOdbcDialog)) { OutputDebugString(_T("打开Master数据库失败\n")); return FALSE; } ////////////////////////////////////////////////////////////////////////// // 获取记录; CString strSQL = _T(""); CRecordset rst(&tagMaster); strSQL.Format(_T("select [version] from [%s].[dbo].[version]"), g_szDBName); rst.Open(CRecordset::forwardOnly, strSQL); rst.GetFieldValue(_T("version"), strSQL); rst.Close(); INT nCount = _ttoi(strSQL); if ( nCount <= 640 ) { // 密码使用MD5加密,必须是32位长度; strSQL.Format(_T("ALTER TABLE [%s].[dbo].[user] ALTER COLUMN [psw][nvarchar](32) NOT NULL"), g_szDBName); try { tagMaster.ExecuteSQL(strSQL); } catch(...) { AfxMessageBox(_T("错误,请重新升级或检测数据库完成性!")); return FALSE; } ////////////////////////////////////////////////////////////////////////// // 获取记录; rst.m_pDatabase = &tagMaster; strSQL.Format(_T("select count(*) as cot from [%s].[dbo].[user]"), g_szDBName); rst.Open(CRecordset::forwardOnly, strSQL); rst.GetFieldValue(_T("cot"), strSQL); rst.Close(); nCount = _ttoi(strSQL); if ( nCount == 0 ) { return FALSE; } CTableUser rtUser; strSQL.Format(_T("select account,psw from [%s].[dbo].[user]"), g_szDBName); rtUser.m_pDatabase = &tagMaster; rtUser.Open(CRecordset::forwardOnly, strSQL); CArray AryUser; AryUser.SetSize(nCount,1); nCount = 0; while(!rtUser.IsEOF()) { strSQL.Format(_T("3%s"), rtUser.m_strpsw); AryUser.ElementAt(nCount).Add(rtUser.m_account); AryUser.ElementAt(nCount).Add(strSQL); nCount++; rtUser.MoveNext(); if ( AryUser.GetSize() <= nCount ) { break; } } rtUser.Close(); ////////////////////////////////////////////////////////////////////////// // 修改密码; CMD5 md5; BYTE byMD5[50] = {0}; nCount = AryUser.GetSize(); for ( int i = 0; i < nCount; i++ ) { if ( AryUser.ElementAt(i).GetAt(1).GetLength() < 32 ) {// 长度小于32位,没有md5加密; memset(byMD5, 0, 50); memcpy(byMD5, (LPCTSTR)AryUser.ElementAt(i).GetAt(1), AryUser.ElementAt(i).GetAt(1).GetLength()); md5.SetBYTEText(byMD5, strlen((char*)byMD5)); strSQL.Format(_T("update [%s].[dbo].[user] set psw = '%s' where account = '%s'"), g_szDBName, md5.GetMD5Digest(), AryUser.ElementAt(i).GetAt(0)); tagMaster.ExecuteSQL(strSQL); } } } return TRUE; }