Beispiel #1
0
//---------------------------------------------------------------------------
void __fastcall TUnitTreatListForm::FormShow(TObject *Sender)
{
	CString szSQL;

	szSQL="select * from diccorp order by cp_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstCorpID.Add(dm1->Query1->FieldByName("cp_code")->AsString.c_str());
		lstCorp->Items->Add(dm1->Query1->FieldByName("cp_name")->AsString);
		dm1->Query1->Next();
	}
	lstCorp->ItemIndex=0;

	m_lstLargeID.Add("");
	lstLarge->Items->Add("全部");
	szSQL="select * from diclargetype order by lt_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstLargeID.Add(dm1->Query1->FieldByName("lt_code")->AsString.c_str());
		lstLarge->Items->Add(dm1->Query1->FieldByName("lt_name")->AsString);
		dm1->Query1->Next();
	}
	lstLarge->ItemIndex=0;
}
Beispiel #2
0
//---------------------------------------------------------------------------
void __fastcall TAskPurchaseListForm::FormShow(TObject *Sender)
{
	int nYear,nMonth,nDay;
	char strDate0[80],strDate1[80];
	CString szSQL;

	edtID				->Text="";
	edtReqDate0	->Text="";
	edtNeedDate	->Text="";
	edtMncode		->Text="";

	m_lstStockDepID.Add("");
	lstStockDep->Items->Add("全部");
	szSQL="select * from StockDepart order by sd_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstStockDepID.Add(dm1->Query1->FieldByName("sd_code")->AsString.c_str());
		lstStockDep->Items->Add(dm1->Query1->FieldByName("sd_name")->AsString);
		dm1->Query1->Next();
	}

	lstType			->ItemIndex=0;
	lstReqType	->ItemIndex=0;
//	lstBuyType	->ItemIndex=0;
	lstNeedType	->ItemIndex=0;
	lstStockDep	->ItemIndex=0;
  lstStockType->ItemIndex=0;

  lstReqCorp->Items->Add("全部");
	m_lstCorpID.Add("");
  szSQL="select * from DepartCorp order by dc_code";
  RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstCorpID.Add(dm1->Query1->FieldByName("dc_code")->AsString.c_str());
		lstReqCorp->Items->Add(dm1->Query1->FieldByName("dc_name")->AsString);
		dm1->Query1->Next();
	}
	lstReqCorp->ItemIndex=0;
	ResetReqDepart();

	lstAfm->ItemIndex=0;
	lstEndFlag->ItemIndex=0;

	lstStockman->Items->Add("全部");
	m_lstStockmanID.Add("");
	szSQL="select * from StockHandleman order by sh_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstStockmanID.Add(dm1->Query1->FieldByName("sh_code")->AsString.c_str());
		lstStockman->Items->Add(dm1->Query1->FieldByName("sh_name")->AsString);
		dm1->Query1->Next();
	}
	lstStockman->ItemIndex=0;

	FormResize(Sender);
  ResetCtrl();
}
Beispiel #3
0
bool Cleanup(OWConnection* connection, std::string tableName)
{
    std::ostringstream oss;
    OWStatement* statement = 0;
    
    oss << "DELETE FROM " << tableName;
    statement = RunSQL(connection, oss);
    if (statement != 0) delete statement;
    oss.str("");

    oss << "DROP TABLE " << tableName;
    std::cout << oss.str() << std::endl;
    statement = RunSQL(connection, oss);
    if (statement != 0) delete statement; 
    oss.str("");       

    oss << "DELETE FROM USER_SDO_GEOM_METADATA WHERE TABLE_NAME='"<< tableName << "'";
    statement = RunSQL(connection, oss);
    if (statement != 0) delete statement; 
    oss.str("");

    connection->Commit();
    
    return true;    
}
Beispiel #4
0
bool CreateBlockIndex(  OWConnection* connection, 
                        std::string tableName, 
                        long srid, 
                        bool bUse3d)
{
    boost::ignore_unused_variable_warning(srid);    
    std::ostringstream oss;
    OWStatement* statement = 0;
    
    oss << "CREATE INDEX "<< tableName <<"_cloud_idx on "<<tableName<<"(blk_extent) INDEXTYPE IS MDSYS.SPATIAL_INDEX";
    
    if (bUse3d) {
        oss <<" PARAMETERS('sdo_indx_dims=3')" ;
    }
    
    statement = RunSQL(connection, oss);
    if (statement != 0) delete statement; else return false;
    oss.str("");

    oss << "CREATE INDEX "<< tableName <<"_objectid_idx on "<<tableName<<"(OBJ_ID,BLK_ID) COMPRESS 2" ;
    statement = RunSQL(connection, oss);
    if (statement != 0) delete statement; else return false;
    oss.str("");    
    return true;
        
}
Beispiel #5
0
void TTreatStockAfmForm::RefreshData()
{
	TListItem *pItem;
	CString szSQL;
	char strDepart[80],strTemp[80],strCorp[80];

//	szSQL.Format("select * from StockHandleman where sh_code='%s'",operatorcode.c_str());
//	RunSQL(dm1->Query1,szSQL,true);
//	if(dm1->Query1->Eof)	strDepart[0]='\0';
//	else	strcpy(strDepart,dm1->Query1->FieldByName("sh_sdcode")->AsString.c_str());

	lstView->Items->Clear();
	if(operatorcode!="admin")
  {
  	szSQL.Format("select * from operator where op_code='%s'",operatorcode.c_str());
		RunSQL(dm1->Query1,szSQL,true);
    if(dm1->Query1->Eof)	return;
		strcpy(strCorp,dm1->Query1->FieldByName("op_cpcode")->AsString.c_str());
		szSQL.Format("select * from TreatStock,operator,materialno where (ts_afmdate is null or ts_afmdate2 is null)"
			" and op_code=ts_shcode and op_cpcode='%s' and ts_mncode*=mn_code",strCorp);
  }
  else
		szSQL="select * from TreatStock,materialno"
    	" where ts_mncode*=mn_code and (ts_afmdate is null or ts_afmdate2 is null)";

	szSQL+=" order by ts_inputdate,ts_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
//		if(strDepart[0]!='\0')
//		{
//    	strcpy(strTemp,dm1->Query1->FieldByName("ap_code")->AsString.c_str());
//			if(dm1->Query1->FieldByName("ap_sdcode")->AsString!=strDepart)
//			{
//				dm1->Query1->Next();
//				continue;
//			}
//		}

		pItem=lstView->Items->Add();
		assert(pItem!=NULL);
		pItem->Caption=dm1->Query1->FieldByName("ts_code")->AsString;
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_inputdate")));
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_modifydate")));
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_afmdate")));
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_afmdate2")));
		pItem->SubItems->Add(FloatField2String(dm1->Query1->FieldByName("ts_price"),2));
		pItem->SubItems->Add(dm1->Query1->FieldByName("mn_name")->AsString);

		dm1->Query1->Next();
	}
	edtID->Text="";
	ResetCtrl();
}
Beispiel #6
0
void __fastcall TBookNotAcceptListForm::btnprintClick(TObject *Sender)
{
  CString szSQL,szTable;
  int i;
  TListItem *pItem;
  TPrnBookNotAcceptForm *pPrn;
  TDateTime tNow;

  szTable=GetTmpTableName();
  szSQL.Format("create table dbo.%s ("
               "m_bookid varchar(20),"
               "m_date varchar(20),"
               "m_days varchar(4),"
               "m_mncode varchar(25),"
               "m_mnname varchar(80),"
               "m_corp varchar(20),"
               "m_sdname varchar(20)"
               ")",szTable);

  if(!RunSQL(dm1->Query1,szSQL))  return;
  //if(lstView->Items->Count>0)
    //lstView->SelectAll();

  for(i=0;i<lstView->Items->Count;i++)
   {
    pItem=lstView->Items->Item[i];
    szSQL.Format("insert into %s values(",szTable);
    szSQL+=Str2DBString(pItem->Caption.c_str());
    szSQL+=",";    szSQL+=Str2DBString(pItem->SubItems->Strings[0].c_str());
    szSQL+=",";    szSQL+=Str2DBString(pItem->SubItems->Strings[1].c_str());
    szSQL+=",";    szSQL+=Str2DBString(pItem->SubItems->Strings[2].c_str());
    szSQL+=",";    szSQL+=Str2DBString(pItem->SubItems->Strings[3].c_str());
    szSQL+=",";    szSQL+=Str2DBString(pItem->SubItems->Strings[4].c_str());
    szSQL+=",";    szSQL+=Str2DBString(pItem->SubItems->Strings[6].c_str());
    szSQL+=")";
    if(!RunSQL(dm1->Query1,szSQL))  goto DROP_TABLE;
   }

  pPrn=new TPrnBookNotAcceptForm(this);
  assert(pPrn!=NULL);
  tNow=GetSysTime(false);
  pPrn->txtPrnTime->Caption=(LPCSTR)Time2DBTimeString(tNow);
  szSQL.Format("select * from %s order by m_bookid",szTable);

  if(RunSQL(dm1->sqlPrint,szSQL,true))
   {pPrn->PrnView->PreviewModal();}
  delete pPrn;

  DROP_TABLE:
    szSQL.Format("drop table dbo.%s",szTable);
    RunSQL(dm1->Query1,szSQL);
}
Beispiel #7
0
void __fastcall TTreatStockAfmForm::edtIDKeyDown(TObject *Sender,
      WORD &Key, TShiftState Shift)
{
	if(Key==VK_RETURN)
  {
		TListItem *pItem;
		int i;
		CString szSQL;
		char strDepart[80];

		if(edtID->Text.IsEmpty())	return;
		for(i=0;i<lstView->Items->Count;i++)
		{
			pItem=lstView->Items->Item[i];
			if(pItem->Caption==edtID->Text)
			{
				lstView->Selected=pItem;
				ResetCtrl();
				return;
			}
		}
		szSQL.Format("select * from TreatStock where ts_code='%s'",edtID->Text.c_str());
		RunSQL(dm1->Query1,szSQL,true);
		if(dm1->Query1->Eof)	return;
		pItem=lstView->Items->Insert(0);
		assert(pItem!=NULL);
		pItem->Caption=dm1->Query1->FieldByName("ts_code")->AsString;
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_inputdate")));
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_modifydate")));
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_afmdate")));
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("ts_afmdate2")));
		lstView->Selected=pItem;
		ResetCtrl();
  }	
}
Beispiel #8
0
//---------------------------------------------------------------------------
void __fastcall TDicCurrencyForm::btnDeleteClick(TObject *Sender)
{
 char strMsg[256],strSQL[512];
  sprintf(strMsg,"\n  真要删除编号为“%s”的记录吗?  \n",edtID->Text.c_str());
  if(Application->MessageBox(strMsg,"警告",MB_YESNOCANCEL | MB_ICONQUESTION | MB_DEFBUTTON2)!=IDYES)
   return;

  sprintf(strSQL,"delete from DicCurrency where crid='%s'",edtID->Text.c_str());
  if(!dm1->OpenDatabase())  return;

  if(!RunSQL(strSQL))	return;

  TListItem *pItem;
  pItem=ListView1->Selected;
  if(pItem!=NULL)
  {
  	int nSel=ListView1->Items->IndexOf(pItem);
    ListView1->Items->Delete(nSel);
    ListView1->Selected=NULL;
  }
//  if(nSel>=ctlListBox->Items->Count)
//    nSel=ctlListBox->Items->Count-1;
//  ctlListBox->ItemIndex=nSel;
//  Row2Editor();
  m_enWorkState=EN_IDLE;
  ResetCtrl();
}
Beispiel #9
0
//---------------------------------------------------------------------------
void __fastcall TUnitTreatListForm::btnPrintClick(TObject *Sender)
{
	CString szSQL,szFilter0,szFilter1;
	char strCorp[80],strLarge[80],strTemp[80];
	int nSel;
	TListItem *pItem;
	AnsiString szDays;
	BASE2COLDATA rwBase;
	TPrnUnitTreatListForm *pForm;
  TDateTime tNow;

  pForm=new TPrnUnitTreatListForm(Application);
  assert(pForm!=NULL);

	strCorp[0]='\0';
	strLarge[0]='\0';
	if((nSel=lstCorp->ItemIndex)>=0 && nSel<m_lstCorpID.GetSize())
	{
		strcpy(strCorp,m_lstCorpID[nSel]);
	}
	if((nSel=lstLarge->ItemIndex)>=0 && nSel<m_lstLargeID.GetSize())
	{
		strcpy(strLarge,m_lstLargeID[nSel]);
	}
	if(strCorp[0]!='\0' || strLarge[0]!='\0')
	{
		szFilter0.Format(" and mn_code like '%s%s%%'",strCorp,strLarge);
		szFilter1.Format(" and pd_mncode like '%s%s%%'",strCorp,strLarge);
	}

	szSQL="select pd_mncode,count(pd_mncode) as pd_count from BookFactory,PurchaseDetail"
		" where bf_apcode=pd_code";
	szSQL+=szFilter1;
	szSQL+=" group by pd_mncode"
		" order by pd_mncode";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		strcpy(rwBase.strCode,dm1->Query1->FieldByName("pd_mncode")->AsString.c_str());
		sprintf(rwBase.strName,"%d",dm1->Query1->FieldByName("pd_count")->AsInteger);
		pForm->m_lstBook.Add(rwBase);
		dm1->Query1->Next();
	}

  szSQL="select * from TreatStock,DicUnits,materialno,Manufactur"
		" where ts_ducode=du_code"
		" and ts_mncode=mn_code"
		" and ts_mfcode*=mf_code";
	szSQL+=szFilter0;
	szSQL+=" order by ts_mncode";

  tNow=GetSysTime(false);

	if(!OpenQuery(dm1->sqlPrint,szSQL))	return;

  pForm->txtPrnDate->Caption=(LPCSTR)Time2DBDateString(tNow);
  pForm->PrnView->PreviewModal();
  delete pForm;

}
Beispiel #10
0
OGRErr OGRGFTDataSource::DeleteLayer(int iLayer)
{
    if (!bReadWrite)
    {
        CPLError(CE_Failure, CPLE_AppDefined,
                 "Operation not available in read-only mode");
        return OGRERR_FAILURE;
    }

    if (osAccessToken.size() == 0)
    {
        CPLError(CE_Failure, CPLE_AppDefined,
                 "Operation not available in unauthenticated mode");
        return OGRERR_FAILURE;
    }

    if( iLayer < 0 || iLayer >= nLayers )
    {
        CPLError( CE_Failure, CPLE_AppDefined,
                  "Layer %d not in legal range of 0 to %d.",
                  iLayer, nLayers-1 );
        return OGRERR_FAILURE;
    }

    CPLString osTableId = ((OGRGFTTableLayer*)papoLayers[iLayer])->GetTableId();
    CPLString osLayerName = GetLayer(iLayer)->GetName();

/* -------------------------------------------------------------------- */
/*      Blow away our OGR structures related to the layer.  This is     */
/*      pretty dangerous if anything has a reference to this layer!     */
/* -------------------------------------------------------------------- */
    CPLDebug( "GFT", "DeleteLayer(%s)", osLayerName.c_str() );

    delete papoLayers[iLayer];
    memmove( papoLayers + iLayer, papoLayers + iLayer + 1,
             sizeof(void *) * (nLayers - iLayer - 1) );
    nLayers--;

/* -------------------------------------------------------------------- */
/*      Remove from the database.                                       */
/* -------------------------------------------------------------------- */

    CPLString osSQL("DROP TABLE ");
    osSQL += osTableId;

    CPLHTTPResult* psResult = RunSQL( osSQL );

    if (psResult == NULL || psResult->nStatus != 0)
    {
        CPLError(CE_Failure, CPLE_AppDefined, "Table deletion failed (1)");
        CPLHTTPDestroyResult(psResult);
        return OGRERR_FAILURE;
    }

    CPLHTTPDestroyResult(psResult);

    return OGRERR_NONE;
}
Beispiel #11
0
void __fastcall TApFilePageForm::btnMoveClick(TObject *Sender)
{
	int nSel;
	CString szSQL;
        char strTemp[2048];

	if(m_szActiveID.IsEmpty())	return;

	if(m_szActiveID!=edtAPC->Text.c_str())
	{
		ShowMessage("您输入的单编号与正在查询的不同");
		if(edtAPC->CanFocus())	edtAPC->SetFocus();
		return;
	}

	if(Application->MessageBox("真要删除该项数据吗","警告",MB_YESNOCANCEL | MB_ICONQUESTION | MB_DEFBUTTON2)!=IDYES)	return;
	szSQL.Format("select * from FilePage where fp_apcode='%s'",m_szActiveID);
	RunSQL(dm1->Query1,szSQL,true);
	if(dm1->Query1->Eof)
	{
		ShowMessage("该项数据不存在,可能已被其它人删除了");
		return;
	}

        try
	{
		szSQL.Format("delete FilePage where fp_apcode=%s",Str2DBString(m_szActiveID));
		RunSQL(dm1->Query1,szSQL);
	}
	catch(...)
	{
		sprintf(strTemp,"数据库操作失败,SQL=\n%s",szSQL);
		ShowMessage(strTemp);
		return;
	}

	m_szActiveID="";
        edtAPC->Text="";
        edtFC->Text="";
        edtPC->Text="";
        lstRem->ItemIndex=-1;
	ResetCtrl();
	return;

}
Beispiel #12
0
void __fastcall TApFilePageForm::btnQueryClick(TObject *Sender)
{
	CString szSQL;
	int i,nSel,j;
	char strID[80],strTemp[80],str1[80],str2[80],str3[80],str4[8];
       	m_szActiveID="";

        if(edtAPC->Text.IsEmpty())
	{
		ShowMessage("请输入请购单编号");
		if(edtAPC->CanFocus())	edtAPC->SetFocus();
		ResetCtrl();
		return;
	}

	szSQL.Format("select * from FilePage where fp_apcode='%s'",edtAPC->Text.c_str());
	RunSQL(dm1->Query1,szSQL,true);
	if(dm1->Query1->Eof)
	{
		ShowMessage("没有该项数据");
		ResetCtrl();
		return;
	}
	edtFC->Text=dm1->Query1->FieldByName("fp_fno")->AsString;
	edtPC->Text=dm1->Query1->FieldByName("fp_pno")->AsString;
        strcpy(strTemp,dm1->Query1->FieldByName("fp_rem")->AsString.c_str());

        for(i=0;i<4;i++)
	{
  	        if(lstRem->Items->Strings[i]==dm1->Query1->FieldByName("fp_rem")->AsString.c_str())
  	        {
    	                lstRem->ItemIndex=i;
                        break;
                }
        }


/*        strcpy(str1,"补单");
        strcpy(str2,"退单");
        strcpy(str3,"取消");

        if(strcmp(strTemp,str1)==0)           strcpy(str4,'A');
        else if(strcmp(strTemp,str2)==0)      strcpy(str4,'B');
        else if(strcmp(strTemp,str3)==0)      strcpy(str4,'C');


        switch(strTemp)
	{
  	        case '补单':	lstRem->ItemIndex=1;	break;
                case '退单':	lstRem->ItemIndex=2;	break;
                case '取消':	lstRem->ItemIndex=3;	break;
                default:	lstRem->ItemIndex=0;	break;
        }
*/
	m_szActiveID=edtAPC->Text.c_str();
	ResetCtrl();
}
Beispiel #13
0
//---------------------------------------------------------------------------
//新增时自动产生递增的档号
AnsiString TApFilePageForm::GenerateID()
{ //编号格式:GR-S-XXXXXX

	int nYear,nMonth,nDay,nFlow;
  char strID[80],chMon,strSQL[1024],strKey[80];

  if(!dm1->OpenDatabase())	return "";
	GetSysDate(nYear,nMonth,nDay,false);

	if(nMonth<10)	chMon=(char)('0'+nMonth);
  else chMon=(char)('A'-10+nMonth);

  //查看该月是否已经有流水号
  sprintf(strKey,"FilePage_%04d%02d",nYear,nMonth);
  sprintf(strSQL,"select * from RuntimeData where rd_key='%s'",strKey);
	RunSQL(strSQL,true);
  if(dm1->Query1->Eof)
  { //该月还没有流水号,初始化该月流水号
  	sprintf(strSQL,"insert into RuntimeData values('%s',1,NULL,'档案页码%d年%d月流水号')",
    	strKey,nYear,nMonth);
    RunSQL(strSQL);
    nFlow=1;
  }

  else
  {
  	nFlow=dm1->Query1->FieldByName("rd_int")->AsInteger;
  }

  while(1)
  {
    sprintf(strID,"A%02d%02d%03d",nYear%10,nMonth,nFlow);                       //自动生成的档号默认以A开头
    sprintf(strSQL,"select * from FilePage where fp_fno='%s'",strID);
    RunSQL(strSQL,true);
    if(dm1->Query1->Eof)	break;
		nFlow++;
  }
  sprintf(strSQL,"update RuntimeData set rd_int=%d where rd_key='%s'",nFlow,strKey);
  RunSQL(strSQL);

  return AnsiString(strID);

}
Beispiel #14
0
/*--------------------------------------------------------------------------------*/
bool PostgresDatabase::GrantPrivileges(const AString& database, const AString& username)
{
	bool success = false;

	if ((success = RunSQL(AString::Formatify("grant all privileges on database %s to %s", database.str(), username.str()))) == false) {
		debug("Failed to grant privileges on database: %s\n", GetErrorMessage().str());
	}

	return success;
}
Beispiel #15
0
void __fastcall TTreatStockAfmForm::btnAfm2Click(TObject *Sender)
{
	TListItem *pItem;
	CString szSQL;
	TDateTime tNow;

	if((pItem=lstView->Selected)==NULL)	return;
	szSQL.Format("select * from TreatStock where ts_code='%s'",pItem->Caption.c_str());
  RunSQL(dm1->Query1,szSQL,true);
	if(dm1->Query1->Eof)
	{
		ShowMessage("该编号数据不存在,也许是删除了,请刷新数据");
		return;
	}
	if(!pItem->SubItems->Strings[3].IsEmpty())	return;
	tNow=GetSysTime(false);
	szSQL.Format("update TreatStock set ts_afmdate2='%s' where ts_code='%s'",
		Time2DBTimeString(tNow),pItem->Caption.c_str());
	if(!RunSQL(dm1->Query1,szSQL))	return;
	pItem->SubItems->Strings[3]=(LPCSTR)Date2YYMMDD(tNow);
	ResetCtrl();
}
Beispiel #16
0
//---------------------------------------------------------------------------
void __fastcall TXkQryForm::FormShow(TObject *Sender)
{
        cbbQryOpCodeSl->Items->Add("");
        CString szSQL = "";
        szSQL.Format("select op_code from operator where op_class='%d'", E_OPERATOR_TYPE_SALER);
        RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
                AnsiString opcode = dm1->Query1->FieldByName("op_code")->AsString;
                cbbQryOpCodeSl->Items->Add(opcode);
                dm1->Query1->Next();
        }            
}
Beispiel #17
0
/*--------------------------------------------------------------------------------*/
bool PostgresDatabase::AddUser(const AString& username, const AString& password)
{
	bool success = false;

	if ((success = RunSQL(AString::Formatify("create user %s with password '%s'", username.str(), password.str()))) == false) {
		AString errmsg = GetErrorMessage();
		if (errmsg.PosNoCase("already exists") < 0) {
			debug("Failed to create user '%s': %s\n", username.str(), errmsg.str());
		}
		else success = true;
	}

	return success;
}
Beispiel #18
0
/*--------------------------------------------------------------------------------*/
bool PostgresDatabase::CreateDatabase(const AString& name)
{
	bool success = false;

	if ((success = RunSQL(AString::Formatify("create database %s", name.str()))) == false) {
		AString errmsg = GetErrorMessage();
		if (errmsg.PosNoCase("already exists") < 0) {
			debug("Failed to create database '%s': %s\n", name.str(), errmsg.str());
		}
		else success = true;
	}

	return success;
}
OGRErr OGRCARTODataSource::DeleteLayer(int iLayer)
{
    if (!bReadWrite)
    {
        CPLError(CE_Failure, CPLE_AppDefined,
                 "Operation not available in read-only mode");
        return OGRERR_FAILURE;
    }

    if( iLayer < 0 || iLayer >= nLayers )
    {
        CPLError( CE_Failure, CPLE_AppDefined,
                  "Layer %d not in legal range of 0 to %d.",
                  iLayer, nLayers-1 );
        return OGRERR_FAILURE;
    }

/* -------------------------------------------------------------------- */
/*      Blow away our OGR structures related to the layer.  This is     */
/*      pretty dangerous if anything has a reference to this layer!     */
/* -------------------------------------------------------------------- */
    CPLString osLayerName = papoLayers[iLayer]->GetLayerDefn()->GetName();

    CPLDebug( "CARTO", "DeleteLayer(%s)", osLayerName.c_str() );

    int bDeferredCreation = papoLayers[iLayer]->GetDeferredCreation();
    papoLayers[iLayer]->CancelDeferredCreation();
    delete papoLayers[iLayer];
    memmove( papoLayers + iLayer, papoLayers + iLayer + 1,
             sizeof(void *) * (nLayers - iLayer - 1) );
    nLayers--;

    if (osLayerName.size() == 0)
        return OGRERR_NONE;

    if( !bDeferredCreation )
    {
        CPLString osSQL;
        osSQL.Printf("DROP TABLE %s",
                    OGRCARTOEscapeIdentifier(osLayerName).c_str());

        json_object* poObj = RunSQL(osSQL);
        if( poObj == NULL )
            return OGRERR_FAILURE;
        json_object_put(poObj);
    }

    return OGRERR_NONE;
}
Beispiel #20
0
bool CreateBlockTable(OWConnection* connection, std::string tableName)
{
    std::ostringstream oss;
    OWStatement* statement = 0;
    
    oss << "CREATE TABLE " << tableName << " AS SELECT * FROM MDSYS.SDO_PC_BLK_TABLE";

    statement = RunSQL(connection, oss);
    if (statement != 0) delete statement; else return false;
    oss.str("");

    connection->Commit();
    
    return true;

}
Beispiel #21
0
void __fastcall TDicDepartForm::edtIDExit(TObject *Sender)
{
	CString szSQL;
	char strDep[80];

	edtID->Text=edtID->Text.Trim();
	if(edtID->Text.IsEmpty())	return;
	strcpy(strDep,edtID->Text.c_str());
	strDep[2]='\0';
	szSQL.Format("select * from DepartCorp where dc_code='%s'",strDep);
	RunSQL(dm1->Query1,szSQL,true);
	if(!dm1->Query1->Eof)
		edtDepartCorp->Text=dm1->Query1->FieldByName("dc_name")->AsString;
	else
		edtDepartCorp->Text="";
}
Beispiel #22
0
void __fastcall TQrySaleForm::FormShow(TObject *Sender)
{
        CString szSQL = "";
        //cl_short_name
        szSQL = "select short_name from client where 1=1 ";
        if (g_theOperator.op_class==E_OPERATOR_TYPE_SALER){   
                szSQL += " and op_code_sl="; szSQL += Str2DBString(g_theOperator.op_code);
        }
        RunSQL(szSQL,true);
        cbbClShortName->Items->Add("");
	while(!dm1->Query1->Eof)
	{
                cbbClShortName->Items->Add(dm1->Query1->FieldByName("short_name")->AsString);
                dm1->Query1->Next();
        }
        //
}
Beispiel #23
0
void __fastcall TStockHandlemanForm::FormShow(TObject *Sender)
{
	CString szSQL;

  szSQL="select * from StockDepart order by sd_code";
  RunSQL(dm1->Query1,szSQL,true);
  while(!dm1->Query1->Eof)
	{
		m_lstDepartID.Add(dm1->Query1->FieldByName("sd_code")->AsString.c_str());
		lstDepart->Items->Add(dm1->Query1->FieldByName("sd_name")->AsString);
		dm1->Query1->Next();
  }
	edtID->Text="";
  edtName->Text="";
	edtTel->Text="";
  RefreshData();
  m_enWorkState=EN_IDLE;
  ResetCtrl();
}
OGRLayer * OGRAmigoCloudDataSource::ExecuteSQLInternal(
    const char *pszSQLCommand,
    OGRGeometry *poSpatialFilter,
    const char *,
    bool bRunDeferredActions )

{
    if( bRunDeferredActions )
    {
        for( int iLayer = 0; iLayer < nLayers; iLayer++ )
        {
            papoLayers[iLayer]->RunDeferredCreationIfNecessary();
            papoLayers[iLayer]->FlushDeferredInsert();
        }
    }

    /* Skip leading spaces */
    while(*pszSQLCommand == ' ')
        pszSQLCommand ++;


    if( !EQUALN(pszSQLCommand, "SELECT", strlen("SELECT")) &&
        !EQUALN(pszSQLCommand, "EXPLAIN", strlen("EXPLAIN")) &&
        !EQUALN(pszSQLCommand, "WITH", strlen("WITH")) )
    {
        RunSQL(pszSQLCommand);
        return NULL;
    }

    OGRAmigoCloudResultLayer* poLayer = new OGRAmigoCloudResultLayer( this, pszSQLCommand );

    if( poSpatialFilter != NULL )
        poLayer->SetSpatialFilter( poSpatialFilter );

    if( !poLayer->IsOK() )
    {
        delete poLayer;
        return NULL;
    }

    return poLayer;
}
Beispiel #25
0
void __fastcall TStockHandlemanForm::btnDeleteClick(TObject *Sender)
{
  char strMsg[256],strSQL[512];
  sprintf(strMsg,"\n  真要删除编号为“%s”的记录吗?  \n",edtID->Text.c_str());
  if(Application->MessageBox(strMsg,"警告",MB_YESNOCANCEL | MB_ICONQUESTION | MB_DEFBUTTON2)!=IDYES)
   return;

  sprintf(strSQL,"delete from StockHandleman where sh_code='%s'",edtID->Text.c_str());
  if(!dm1->OpenDatabase())  return;

  if(!RunSQL(strSQL))	return;

  TListItem *pItem;
  pItem=ListView1->Selected;
  if(pItem!=NULL)
  {
  	int nSel=ListView1->Items->IndexOf(pItem);
    ListView1->Items->Delete(nSel);
    ListView1->Selected=NULL;
  }
  m_enWorkState=EN_IDLE;
  ResetCtrl();
}
Beispiel #26
0
void TAskPurchaseListForm::ResetReqDepart()
{
	CString szSQL;
	int nSel;
	bool bAll;

	lstAskDep->Items->Clear();
	m_lstReqDepID.RemoveAll();

	lstAskDep->Items->Add("全部");
	m_lstReqDepID.Add("");

	if((nSel=lstReqCorp->ItemIndex)>0 && nSel<m_lstCorpID.GetSize())
	{
		bAll=false;
		szSQL.Format("select * from DicDepart where substring(dd_code,1,2)='%s'",m_lstCorpID[nSel]);
	}
	else
	{
		bAll=true;
		szSQL="select * from DicDepart,DepartCorp where substring(dd_code,1,2)*=dc_code";
	}
	szSQL+=" order by dd_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstReqDepID.Add(dm1->Query1->FieldByName("dd_code")->AsString.c_str());
		if(bAll)
			lstAskDep->Items->Add(dm1->Query1->FieldByName("dc_name")->AsString
				+dm1->Query1->FieldByName("dd_name")->AsString);
		else
			lstAskDep->Items->Add(dm1->Query1->FieldByName("dd_name")->AsString);
		dm1->Query1->Next();
	}
	lstAskDep->ItemIndex=0;
}
Beispiel #27
0
void __fastcall TStockHandlemanForm::btnOK0Click(TObject *Sender)
{
  char strID[80],strName[80],*ptr,strTemp[80],strDep[80];
  int nState,nSel,nDepSel;

  edtID->Text=edtID->Text.Trim();
  edtName->Text=edtName->Text.Trim();

  if(edtID->Text.IsEmpty())
  {
  	ShowMessage("请输入编号");
    if(edtID->CanFocus())	edtID->SetFocus();
    return;
  }
  if(edtName->Text.IsEmpty())
  {
  	ShowMessage("请输入名称");
    if(edtName->CanFocus())	edtName->SetFocus();
    return;
  }
	edtTel->Text=edtTel->Text.Trim();

  if((nDepSel=lstDepart->ItemIndex)<0 || nDepSel>=m_lstDepartID.GetSize())
  {
  	ShowMessage("请选择一个有效的部门");
    return;
  }
	strcpy(strDep,m_lstDepartID[nDepSel]);

  strcpy(strID,edtID->Text.c_str());
  strcpy(strName,edtName->Text.c_str());

  char strSQL[1024],strTel[256];
	strcpy(strTel,Str2DBString(edtTel->Text.c_str()));

  switch(m_enWorkState)
  {
    case EN_ADDNEW:
      sprintf(strSQL,"insert into StockHandleman values('%s','%s',%s,'%s')",strID,strName,strTel,strDep);
      break;
    case EN_EDIT:
      sprintf(strSQL,"update StockHandleman set sh_name='%s',sh_tel=%s,sh_sdcode='%s' where sh_code='%s'",
				strName,strTel,strDep,strID);
      break;
    default:
      ShowMessage("Work State not AddNew or Edit");
      return;
  }

  if(!dm1->OpenDatabase())  return;

  try
  {
    if(m_enWorkState==EN_ADDNEW)
    {
      char strAddSQL[256];
      sprintf(strAddSQL,"select * from StockHandleman where sh_code='%s'",strID);
      RunSQL(strAddSQL,true);
      if(dm1->Query1->RecordCount>0)
      {
        ShowMessage("数据库中已有该编号的记录!");
        edtID->SetFocus();
        return;
      }
    }
    RunSQL(strSQL);
  }
  catch(...)
  {
    ShowMessage("数据库操作错误!");
    return;
  }

  TListItem *pItem;
  if(m_enWorkState==EN_ADDNEW)
  {
  	pItem=ListView1->Items->Add();
    pItem->Caption=edtID->Text;
    pItem->SubItems->Add(edtName->Text);
		pItem->SubItems->Add(edtTel->Text);
		pItem->SubItems->Add(lstDepart->Text);
    ListView1->Selected=pItem;
  }
  else if(m_enWorkState==EN_EDIT)
  {
  	pItem=ListView1->Selected;
    if(pItem!=NULL)
    {
    	pItem->Caption=edtID->Text;
      pItem->SubItems->Strings[0]=edtName->Text;
			pItem->SubItems->Strings[1]=edtTel->Text;
			pItem->SubItems->Strings[2]=lstDepart->Text;
    }
  }

  nState=m_enWorkState;
  m_enWorkState=EN_IDLE;
  ResetCtrl();
  msgState->Caption="工作状态:查询";
  switch(nState)
  { //设置确定後的光标位置
    case EN_ADDNEW: btnAddNew->SetFocus();  break;
    case EN_EDIT:   btnEdit->SetFocus();    break;
    default:  break;
  }
}
Beispiel #28
0
void __fastcall TBookNotAcceptListForm::btnQueryClick(TObject *Sender)
{
	int nDays,nYear,nMonth,nDay;
	CString szSQL;
	TListItem *pItem;
	char strTemp[256];
	int nSel,i;
        char strDate0[80],strDate1[80];
        unsigned short year0,month0,day0,year1,month1,day1;

	GetSysDate(nYear,nMonth,nDay,false);
	lstView->Items->Clear();

	edtDays->Text=edtDays->Text.Trim();
	if(edtDays->Text.IsEmpty())
	{
		ShowMessage("请输入宽放天数");
		if(edtDays->CanFocus())	edtDays->SetFocus();
		return;
	}
	if(!StringIsInt(edtDays->Text.c_str()) || (nDays=atoi(edtDays->Text.c_str()))<0)
	{
		ShowMessage("请输入整数");
		if(edtDays->CanFocus())	edtDays->SetFocus();
		return;
	}

	szSQL.Format("select * from BookFactory,PurchaseDetail,materialno,AskPurchase,Manufactur,StockHandleman"
		" where pd_code=bf_apcode"
		" and substring(pd_mncode,2,1)<>'M'"
		" and mn_code=pd_mncode"
    " and pd_endflag is null"
    " and ap_shcode=sh_code"
		" and ap_code=substring(pd_code,1,7)"
    " and bf_mfcode*=mf_code"
		" and bf_bookdate+bf_deliverdays+%d<'%04d-%02d-%02d'",nDays,nYear,nMonth,nDay);
        DateTimePicker1->DateTime.DecodeDate(&year0,&month0,&day0);
        sprintf(strDate0,"%04d-%02d-%02d",year0,month0,day0);
        DateTimePicker2->DateTime.DecodeDate(&year1,&month1,&day1);
        sprintf(strDate1,"%04d-%02d-%02d",year1,month1,day1);
        sprintf(strTemp," and bf_bookdate between '%s' and '%s'",strDate0,strDate1);
        szSQL+=strTemp;
	if((nSel=lstCorp->ItemIndex)>0 && nSel<m_lstCorpID.GetSize())
	{
		sprintf(strTemp," and substring(ap_reqdepart,1,2)='%s'",m_lstCorpID[nSel]);
		szSQL+=strTemp;
	}
	if((nSel=lstAskDep->ItemIndex)>0 && nSel<m_lstAskDepID.GetSize())
	{
		sprintf(strTemp," and ap_reqdepart='%s'",m_lstAskDepID[nSel]);
		szSQL+=strTemp;
	}
	if((nSel=lstDepart->ItemIndex)>0 && nSel<m_lstDepartID.GetSize())
	{
		sprintf(strTemp," and ap_sdcode='%s'",m_lstDepartID[nSel]);
		szSQL+=strTemp;
	}

	if((nSel=lstFact->ItemIndex)>0 && nSel<m_lstFactID.GetSize())
	{
		sprintf(strTemp," and bf_mfcode='%s'",m_lstFactID[nSel]);
		szSQL+=strTemp;
	}

	szSQL+=" and  bf_code not in"
		"("
		"select distinct(am_bfcode) from acceptmate"
		")"
		" order by bf_bookdate";
    RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		pItem=lstView->Items->Add();
		assert(pItem!=NULL);
		pItem->Caption=dm1->Query1->FieldByName("bf_code")->AsString;
		pItem->SubItems->Add(DateField2Text(dm1->Query1->FieldByName("bf_bookdate")));
		pItem->SubItems->Add(IntField2Text(dm1->Query1->FieldByName("bf_deliverdays")));
		pItem->SubItems->Add(dm1->Query1->FieldByName("mn_code")->AsString);
		pItem->SubItems->Add(dm1->Query1->FieldByName("mn_name")->AsString);
		strcpy(strTemp,dm1->Query1->FieldByName("ap_reqdepart")->AsString.c_str());
		strTemp[2]='\0';
		for(i=1;i<m_lstCorpID.GetSize();i++)
		{
			if(m_lstCorpID[i]==strTemp)
			{
				pItem->SubItems->Add(lstCorp->Items->Strings[i]);
				break;
			}
		}
		if(i==m_lstCorpID.GetSize())	pItem->SubItems->Add("");

		for(i=1;i<m_lstAskDepID.GetSize();i++)
		{
			if(m_lstAskDepID[i]==dm1->Query1->FieldByName("ap_reqdepart")->AsString.c_str())
			{
				pItem->SubItems->Add(lstAskDep->Items->Strings[i]);
				break;
			}
		}
		if(i==m_lstAskDepID.GetSize())	pItem->SubItems->Add("");

		for(i=1;i<m_lstDepartID.GetSize();i++)
		{
			if(m_lstDepartID[i]==dm1->Query1->FieldByName("ap_sdcode")->AsString.c_str())
			{
				pItem->SubItems->Add(lstDepart->Items->Strings[i]);
				break;
			}
		}
		if(i==m_lstDepartID.GetSize())	pItem->SubItems->Add("");

    pItem->SubItems->Add(FloatField2String(dm1->Query1->FieldByName("bf_count"),2));
    pItem->SubItems->Add(dm1->Query1->FieldByName("mf_shortname")->AsString);
    pItem->SubItems->Add(dm1->Query1->FieldByName("pd_code")->AsString);
    pItem->SubItems->Add(dm1->Query1->FieldByName("sh_name")->AsString);

		dm1->Query1->Next();
	}
// ShowMessage(szSQL.s)
}
Beispiel #29
0
//---------------------------------------------------------------------------
void __fastcall TBookNotAcceptListForm::FormShow(TObject *Sender)
{
	CString szSQL;
        unsigned short year,month,day;
	edtDays->Text="2";

	m_lstCorpID.Add("");
	lstCorp->Items->Add("全部");

	szSQL="select * from DepartCorp order by dc_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstCorpID.Add(dm1->Query1->FieldByName("dc_code")->AsString.c_str());
		lstCorp->Items->Add(dm1->Query1->FieldByName("dc_name")->AsString);

		dm1->Query1->Next();
	}
	lstCorp->ItemIndex=0;

	m_lstDepartID.Add("");
	lstDepart->Items->Add("全部");
	szSQL="select * from StockDepart order by sd_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstDepartID.Add(dm1->Query1->FieldByName("sd_code")->AsString.c_str());
		lstDepart->Items->Add(dm1->Query1->FieldByName("sd_name")->AsString);
		dm1->Query1->Next();
	}
	lstDepart->ItemIndex=0;

	m_lstAskDepID.Add("");
  lstAskDep->Items->Add("全部");
	szSQL="select * from DicDepart,DepartCorp where dc_code=substring(dd_code,1,2) order by dd_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstAskDepID.Add(dm1->Query1->FieldByName("dd_code")->AsString.c_str());
		lstAskDep->Items->Add(dm1->Query1->FieldByName("dc_name")->AsString
    	+dm1->Query1->FieldByName("dd_name")->AsString);
		dm1->Query1->Next();
	}
	lstAskDep->ItemIndex=0;

	m_lstFactID.Add("");
	lstFact->Items->Add("全部");
	szSQL="select * from Manufactur order by mf_code";
	RunSQL(dm1->Query1,szSQL,true);
	while(!dm1->Query1->Eof)
	{
		m_lstFactID.Add(dm1->Query1->FieldByName("mf_code")->AsString.c_str());
		lstFact->Items->Add(dm1->Query1->FieldByName("mf_shortname")->AsString);
		dm1->Query1->Next();
	}
	lstFact->ItemIndex=0;

        TDateTime tNow;
        tNow=GetSysTime(false);
        tNow.DecodeDate(&year,&month,&day);
        DateTimePicker1->Date=tNow;
        DateTimePicker2->Date=tNow;
}
Beispiel #30
0
int OGRGFTDataSource::Open( const char * pszFilename, int bUpdateIn)

{
    if (!EQUALN(pszFilename, "GFT:", 4))
        return FALSE;

    bReadWrite = bUpdateIn;

    pszName = CPLStrdup( pszFilename );

    osAuth = OGRGFTGetOptionValue(pszFilename, "auth");
    if (osAuth.size() == 0)
        osAuth = CPLGetConfigOption("GFT_AUTH", "");

    osRefreshToken = OGRGFTGetOptionValue(pszFilename, "refresh");
    if (osRefreshToken.size() == 0)
        osRefreshToken = CPLGetConfigOption("GFT_REFRESH_TOKEN", "");

    osAPIKey = CPLGetConfigOption("GFT_APIKEY", GDAL_API_KEY);

    CPLString osTables = OGRGFTGetOptionValue(pszFilename, "tables");

    bUseHTTPS = TRUE;

    osAccessToken = OGRGFTGetOptionValue(pszFilename, "access");
    if (osAccessToken.size() == 0)
        osAccessToken = CPLGetConfigOption("GFT_ACCESS_TOKEN","");
    if (osAccessToken.size() == 0 && osRefreshToken.size() > 0) 
    {
        osAccessToken.Seize(GOA2GetAccessToken(osRefreshToken,
                                               FUSION_TABLE_SCOPE));
        if (osAccessToken.size() == 0)
            return FALSE;
    }

    if (osAccessToken.size() == 0 && osAuth.size() > 0)
    {
        osRefreshToken.Seize(GOA2GetRefreshToken(osAuth, FUSION_TABLE_SCOPE));
        if (osRefreshToken.size() == 0)
            return FALSE;
    }

    if (osAccessToken.size() == 0)
    {
        if (osTables.size() == 0)
        {
            CPLError(CE_Failure, CPLE_AppDefined,
                    "Unauthenticated access requires explicit tables= parameter");
            return FALSE;
        }
    }

    if (osTables.size() != 0)
    {
        char** papszTables = CSLTokenizeString2(osTables, ",", 0);
        for(int i=0;papszTables && papszTables[i];i++)
        {
            papoLayers = (OGRLayer**) CPLRealloc(papoLayers, (nLayers + 1) * sizeof(OGRLayer*));
            papoLayers[nLayers ++] = new OGRGFTTableLayer(this, papszTables[i], papszTables[i]);
        }
        CSLDestroy(papszTables);
        return TRUE;
    }

    /* Get list of tables */
    CPLHTTPResult * psResult = RunSQL("SHOW TABLES");

    if (psResult == NULL)
        return FALSE;

    char* pszLine = (char*) psResult->pabyData;
    if (pszLine == NULL ||
        psResult->pszErrBuf != NULL ||
        strncmp(pszLine, "table id,name", strlen("table id,name")) != 0)
    {
        CPLHTTPDestroyResult(psResult);
        return FALSE;
    }

    pszLine = OGRGFTGotoNextLine(pszLine);
    while(pszLine != NULL && *pszLine != 0)
    {
        char* pszNextLine = OGRGFTGotoNextLine(pszLine);
        if (pszNextLine)
            pszNextLine[-1] = 0;

        char** papszTokens = CSLTokenizeString2(pszLine, ",", 0);
        if (CSLCount(papszTokens) == 2)
        {
            CPLString osTableId(papszTokens[0]);
            CPLString osLayerName(papszTokens[1]);
            for(int i=0;i<nLayers;i++)
            {
                if (strcmp(papoLayers[i]->GetName(), osLayerName) == 0)
                {
                    osLayerName += " (";
                    osLayerName += osTableId;
                    osLayerName += ")";
                    break;
                }
            }
            papoLayers = (OGRLayer**) CPLRealloc(papoLayers, (nLayers + 1) * sizeof(OGRLayer*));
            papoLayers[nLayers ++] = new OGRGFTTableLayer(this, osLayerName, osTableId);
        }
        CSLDestroy(papszTokens);

        pszLine = pszNextLine;
    }

    CPLHTTPDestroyResult(psResult);

    return TRUE;
}