⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datacore.cpp

📁 an Atl_com use to read or write an mdb file which use ado.Japanese software develop
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		_bstr_t sqltxt;
		sqltxt="select @@identity  as ID from  桝弌扴摉幰";
		_CommandPtr command(__uuidof(Command));
		command->ActiveConnection=ConPtr;
		command->CommandText=sqltxt;
		_RecordsetPtr rs(__uuidof(Recordset));
		rs->PutRefSource(command);
		_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
		rs->Open(vNull,vNull,adOpenDynamic,adLockOptimistic,adCmdText);
		//AfxMessageBox("ss");
		rs->MoveFirst();
		_variant_t MaxId;
		MaxId=rs->GetCollect("ID");
		ConPtr->CommitTrans();
		*succeed=MaxId.intVal;
		//*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		ConPtr->RollbackTrans();
		*succeed=0;//VARIANT_FALSE;
	}
	return S_OK;
}

/////////////////////////////////////////////
//////////update data in table 文書//////////
/////////////////////////////////////////////
STDMETHODIMP CDataCore::Update_Doucment(VARIANT_BOOL vaild, BSTR information, BSTR author, BSTR date, BSTR RelationShip, BSTR ID, VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t Vaild;
	if(vaild==VARIANT_TRUE)
	{
		Vaild=(_bstr_t)"1";
	}
	else
	{
		Vaild=(_bstr_t)"0";
	}
	_bstr_t sqlstr;
	if((_bstr_t)date!=(_bstr_t)"null")
	{
		sqlstr="update 暥彂 set 暥彂桳岠="+(_bstr_t)Vaild+(_bstr_t)",暥彂忣曬='"+(_bstr_t)information;
		sqlstr=sqlstr+(_bstr_t)"',敪峴幰='"+(_bstr_t)author+(_bstr_t)"',敪峴擔=#"+(_bstr_t)date+(_bstr_t)"#,娭學崁斣='"+(_bstr_t)RelationShip+(_bstr_t)"' where 暥彂ID="+(_bstr_t)ID;
	//sqlstr=sqlstr+(_bstr_t)Vaild+(_bstr_t)",'"+(_bstr_t)information+(_bstr_t)"','"+(_bstr_t)author;
	}
	else
	{
		sqlstr="update 暥彂 set 暥彂桳岠="+(_bstr_t)Vaild+(_bstr_t)",暥彂忣曬='"+(_bstr_t)information;
		sqlstr=sqlstr+(_bstr_t)"',敪峴幰='"+(_bstr_t)author+(_bstr_t)"',敪峴擔=null"+",娭學崁斣='"+(_bstr_t)RelationShip+(_bstr_t)"' where 暥彂ID="+(_bstr_t)ID;
	}
	*succeed=VARIANT_FALSE;
	//AfxMessageBox(sqlstr);
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;
}

/////////////////////////////////
////delte data from table 文書///
/////////////////////////////////
STDMETHODIMP CDataCore::Delete_Doucment(BSTR ID,VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t sqlstr;
	sqlstr="delete from 暥彂 where 暥彂ID="+(_bstr_t)ID;
	*succeed=VARIANT_FALSE;
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;
}

////////////////////////////////////////////////////////////
//////////Insert data into table 物品情報///////////////////
////////////////////////////////////////////////////////////
STDMETHODIMP CDataCore::Insert_GoodsInfo(VARIANT_BOOL Vaild, BSTR info, BSTR attribute, BSTR JudgeCode, BSTR JodgeDate, BSTR DocID, int *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t vaild;
	if(Vaild==VARIANT_TRUE)
	{
		vaild=(_bstr_t)"1";
	}
	else
	{
		vaild=(_bstr_t)"0";
	}
	_bstr_t sqlstr;
	//sqlstr="insert into 物品情報(物品情報有効,物品情報,メーカー,判定Code,判定日,文書ID) values(";
	if((_bstr_t)JodgeDate!=(_bstr_t)"null")
	{
		sqlstr="insert into 暔昳忣曬(暔昳忣曬桳岠,暔昳忣曬,儊乕僇乕,敾掕Code,敾掕擔,暥彂ID) values(";
		sqlstr=sqlstr+(_bstr_t)vaild+(_bstr_t)",'"+(_bstr_t)info+(_bstr_t)"','"+(_bstr_t)attribute+(_bstr_t)"',";
		sqlstr=sqlstr+(_bstr_t)JudgeCode+(_bstr_t)",#"+(_bstr_t)JodgeDate+(_bstr_t)"#,"+(_bstr_t)DocID+(_bstr_t)")";
	}
	else
	{
		sqlstr="insert into 暔昳忣曬(暔昳忣曬桳岠,暔昳忣曬,儊乕僇乕,敾掕Code,暥彂ID) values(";
		sqlstr=sqlstr+(_bstr_t)vaild+(_bstr_t)",'"+(_bstr_t)info+(_bstr_t)"','"+(_bstr_t)attribute+(_bstr_t)"',";
		sqlstr=sqlstr+(_bstr_t)JudgeCode+(_bstr_t)","+(_bstr_t)DocID+(_bstr_t)")";
	}
	//*succeed=VARIANT_FALSE;
	//AfxMessageBox(sqlstr);
	try
	{
		
		ConPtr->BeginTrans();
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		_bstr_t sqltxt;
		sqltxt="select @@identity  as ID from 暔昳忣曬";
		_CommandPtr command(__uuidof(Command));
		command->ActiveConnection=ConPtr;
		command->CommandText=sqltxt;
		_RecordsetPtr rs(__uuidof(Recordset));
		rs->PutRefSource(command);
		_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
		rs->Open(vNull,vNull,adOpenDynamic,adLockOptimistic,adCmdText);
		//AfxMessageBox("ss");
		rs->MoveFirst();
		_variant_t MaxId;
		MaxId=rs->GetCollect("ID");
		//ConPtr->CommitTrans();
		ConPtr->CommitTrans();
		*succeed=MaxId.intVal;
	}
	catch(_com_error e)
	{
		ConPtr->RollbackTrans();
		*succeed=0;
	}
	return S_OK;
}

///////////////////////////////////////////////////////////
/////Update data table 物品情報////////////////////////////
///////////////////////////////////////////////////////////
STDMETHODIMP CDataCore::Update_GoodsInfo(VARIANT_BOOL Vaild, BSTR info, BSTR attribute, BSTR JudgeCode, BSTR JodgeDate, BSTR DocID, BSTR ID, VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t vaild;
	if(Vaild==VARIANT_TRUE)
	{
		vaild=(_bstr_t)"1";
	}
	else
	{
		vaild=(_bstr_t)"0";
	}
	_bstr_t sqlstr;
	if((_bstr_t)JodgeDate!=(_bstr_t)"null")
	{
//		if((_bstr_t)DocID!=(_bstr_t)"null")
//		{
			sqlstr="update 暔昳忣曬 set 暔昳忣曬桳岠="+(_bstr_t)vaild+(_bstr_t)",暔昳忣曬='"+(_bstr_t)info;
			sqlstr=sqlstr+(_bstr_t)"',儊乕僇乕='"+(_bstr_t)attribute+(_bstr_t)"',敾掕Code="+(_bstr_t)JudgeCode;
			sqlstr=sqlstr+(_bstr_t)",敾掕擔=#"+(_bstr_t)JodgeDate+(_bstr_t)"#,暥彂ID="+(_bstr_t)DocID+(_bstr_t)" where 暔昳忣曬ID="+(_bstr_t)ID;
			*succeed=VARIANT_FALSE;
//		}
//		else
//		{
//			sqlstr="update 暔昳忣曬 set 暔昳忣曬桳岠="+(_bstr_t)vaild+(_bstr_t)",暔昳忣曬='"+(_bstr_t)info;
//			sqlstr=sqlstr+(_bstr_t)"',儊乕僇乕='"+(_bstr_t)attribute+(_bstr_t)"',敾掕Code="+(_bstr_t)JudgeCode;
//			sqlstr=sqlstr+(_bstr_t)",敾掕擔=#"+(_bstr_t)JodgeDate+(_bstr_t)"#"+(_bstr_t)" where 暔昳忣曬ID="+(_bstr_t)ID;
//			*succeed=VARIANT_FALSE;
//		}
	}
	else
	{
//		if((_bstr_t)DocID!=(_bstr_t)"null")
//		{
			sqlstr="update 暔昳忣曬 set 暔昳忣曬桳岠="+(_bstr_t)vaild+(_bstr_t)",暔昳忣曬='"+(_bstr_t)info;
			sqlstr=sqlstr+(_bstr_t)"',儊乕僇乕='"+(_bstr_t)attribute+(_bstr_t)"',敾掕Code="+(_bstr_t)JudgeCode;
			sqlstr=sqlstr+(bstr_t)",暥彂ID="+(_bstr_t)DocID+(_bstr_t)",敾掕擔=null"+(_bstr_t)" where 暔昳忣曬ID="+(_bstr_t)ID;
			*succeed=VARIANT_FALSE;
//		}
//		else
//		{
//			sqlstr="update 暔昳忣曬 set 暔昳忣曬桳岠="+(_bstr_t)vaild+(_bstr_t)",暔昳忣曬='"+(_bstr_t)info;
//			sqlstr=sqlstr+(_bstr_t)"',儊乕僇乕='"+(_bstr_t)attribute+(_bstr_t)"',敾掕Code="+(_bstr_t)JudgeCode;
//			sqlstr=sqlstr+(_bstr_t)",敾掕擔=null"+(_bstr_t)" where 暔昳忣曬ID="+(_bstr_t)ID;
//			*succeed=VARIANT_FALSE;
//		}
	}
	//AfxMessageBox(sqlstr);
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;

}

//////////////////////////////////
/////delete from 物品情報/////////
//////////////////////////////////
STDMETHODIMP CDataCore::Delete_GoodsInfo(BSTR ID, VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t sqlstr;
	sqlstr="delete from 暔昳忣曬 where 暔昳忣曬ID="+(_bstr_t)ID;
	*succeed=VARIANT_FALSE;
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;
}

///////////////////////////////////////////////////////
///////////insert into data table 許可Code/////////////
///////////////////////////////////////////////////////
STDMETHODIMP CDataCore::Insert_AllowCode(BSTR code, BSTR content, VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t sqlstr;
	sqlstr="insert into 嫋壜Code(嫋壜Code,嫋壜) values("+(_bstr_t)code+(_bstr_t)",'"+(_bstr_t)content+(_bstr_t)"')";
	*succeed=VARIANT_FALSE;
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;
}

////////////////////////////////////////////////
////////update data table 許可Code//////////////
////////////////////////////////////////////////
STDMETHODIMP CDataCore::Update_AllowCode(BSTR CODE, BSTR content, VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t sqlstr;
	sqlstr="update 嫋壜Code set 嫋壜='"+(_bstr_t)content+(_bstr_t)"' where 嫋壜Code="+(_bstr_t)CODE;
	*succeed=VARIANT_FALSE;
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;
}

////////////////////////////////////////////////////////
///////////delete 許可Code/////////////////////////////
///////////////////////////////////////////////////////
STDMETHODIMP CDataCore::Delete_AllowCode(BSTR code, VARIANT_BOOL *succeed)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t sqlstr;
	sqlstr="delete from 嫋壜Code where 嫋壜Code="+(_bstr_t)code;
	*succeed=VARIANT_FALSE;
	try
	{
		cmd->ActiveConnection=ConPtr;
		cmd->CommandText=sqlstr;
		cmd->Execute(&vNull,&vNull,adCmdText);
		*succeed=VARIANT_TRUE;
	}
	catch(_com_error e)
	{
		*succeed=VARIANT_FALSE;
	}
	return S_OK;
}

/////////////////////////////////////////////////////
//////////////////insert into to インボイス//////////
/////////////////////////////////////////////////////
STDMETHODIMP CDataCore::Insert_Invoice(BSTR InvoiceDate, 
									   BSTR OrgainID, BSTR title, BSTR ShippedPer, 
									   BSTR DateOfShipment, BSTR PortOfShipment, BSTR Via, 
									   BSTR PortOfDestination, BSTR TermsOfPayment, BSTR OrderNo, 
									   BSTR CommercialTems, BSTR settleCurrency, VARIANT_BOOL InCommecial, 
									   BSTR MarksAndNos, BSTR Notes, BSTR Freight, BSTR CountryOfOrigin, 
									   BSTR TotalPacking, BSTR ChargeManID, BSTR address,BSTR InvoiceNO, int* SUCCEED)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState())
	CoInitialize(NULL);
	_CommandPtr cmd(__uuidof(Command));
	_variant_t vNull(DISP_E_PARAMNOTFOUND,VT_ERROR);
	_bstr_t sqlstr;
	*SUCCEED=0;
	_bstr_t bolCommecial;
	//AfxMessageBox("21");
	if(InCommecial==VARIANT_TRUE)
	{
		bolCommecial=(_bstr_t)"1";
		//AfxMessageBox(bolCommecial);
	}
	else
	{
		bolCommecial=(_bstr_t)"0";
		//AfxMessageBox(bolCommecial);
	}
	//_bstr_t InvoiceNO;
	//CString IDInvoice,ID1,ID3;
	//int id2;
	//IDInvoice=RtnMaxInvoiceID();  //Read the max InvoiceID
	//ID1=IDInvoice.Mid(4,7);   //add 1
	//id2=atoi(ID1)+1;
	//CString ID4;
	//if(id2<10)
	//{
	//	ID4.Format("TEMP000000%d",id2);
	//}
	//else
	//{
	//	if(id2>=10&&id2<100)
	//	{
	//		ID4.Format("TEMP00000%d",id2);
	//	}
	//	else
	//	{
	//		if(id2>=100&&id2<1000)
	//		{
	//			ID4.Format("TEMP0000%d",id2);
	//		}
	//		else
	//		{
	//			if(id2>=1000&&id2<10000)
	//			{
	//				ID4.Format("TEMP000%d",id2);
	//			}
	//			else
	//			{
	//				if(id2>=10000&&id2<100000)
	//				{
	//					ID4.Format("TEMP00%d",id2);
	//				}
	//				else
	//				{
	//					if(id2>=100000&&id2<1000000)
	//					{
	//						ID4.Format("TEMP0%d",id2);
	//					}
	//					else
	//					{
	//						ID4.Format("TEMP%d",id2);
	//					}
	//				}
	//			}
	//		}
	//	}
	//}

	//InvoiceNO=(_bstr_t)"Null";
	//AfxMessageBox(InvoiceID);
	//_bstr_t sqltxt;
	//sqltxt="update MaxInvoiceId set MaxInvoiceID='"+InvoiceNO+(_bstr_t)"'";
	sqlstr = "insert into 僀儞儃僀僗(僀儞儃僀僗NO,敪峴擔,岦愭ID,僞僀僩儖,ShippedPer,DateOfShipment,PortOfShipment,Via,PortOfDestination,TermsOfPayment,OrderNo,";
	sqlstr=sqlstr+(_bstr_t)"僀儞僐僞乕儉僘,寛嵪捠壿,僲乕僐儅乕僔儍儖,MarksAndNos,Freight,CountryOfOrigin,TotalPacking,桝弌扴摉幰ID,栤崌愭,Notes)";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -