Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


HGIDC
Resultados 1 a 2 de 2
  1. #1

    Avatar de xxrenanxx
    Data de Ingresso
    May 2010
    Idade
    25
    Posts
    31
    Agradecido
    0
    Agradeceu
    0
    Peso da Avaliação
    0

    Padrão Source SQL.cpp e SQL.h

    Olá,

    amigos tentei ultilizar uma source para fazer um npc teeporte...

    mas na hora de usar da crash no gs...

    tentei ultilizar outras sources aplicando aki mais cada source vai mudando...

    Se alguem poder postar as source sql.cpp e sql.h e a linha que é aplicada nas chaves do protocolcore... fico muito grato....

    vlw... e perdão se postei no lugar errado..

  2. #2

    Avatar de Mr.TwoHam
    Data de Ingresso
    Sep 2009
    Localização
    Microsoft ®
    Idade
    24
    Posts
    633
    Agradecido
    32
    Agradeceu
    20
    Peso da Avaliação
    16

    Padrão

    SQL.h :

    Código PHP:
    #ifndef _SQL_H
    #define _SQL_H

    #include <SQL.h>
    #include <SqlExt.h>

    class CSQLEx
    {
    public:
        
    CSQLEx();
        
    virtual ~CSQLEx();

        
    void Load();
        
    bool ConnectExt();
        
    bool Connect();
        
    void Disconnect();
        
    bool Execute(charszQuery,...);
        
    charGetLastError();
        
    void FreeHandle();

        
    int GetRow();

        
    int GetInt();
        
    bool FetchRow(charout,int len);
        
    char*szDriver;
        
    char szServer[22];
        
    char szServer2[22];
        
    char szUser[11];
        
    char szPassword[50];
        
    char szDatabase[11];
    private:
        
    bool m_bConnected;
        
    HENV m_SQLEnvironment;
        
    HDBC m_SQLConnection;
        
    HSTMT m_STMT;
        
    long m_RowCount;
        
    long m_ColCount;
    };

    extern CSQLEx MySQL;

    #endif 

    SQL.cpp

    Código PHP:
    #include "StdAfx.h"

    CSQLEx MySQL;

    CSQLEx::CSQLEx()
    {
    }

    CSQLEx::~CSQLEx()
    {
        
    this->Disconnect();
    }

    void CSQLEx::Load()
    {
        
    szDriver="{SQL Server}";
        
    szUser[11];
        
    szPassword[50];
        
    szDatabase[11];
        
    GetPrivateProfileStringA("SQLConnection","SQLConnectIP","(local)",szServer,22,SMTSQL);
        
    GetPrivateProfileStringA("SQLConnection","SQLConnectIP2","(local)",szServer2,22,SMTSQL);
        
    GetPrivateProfileStringA("SQLConnection","SQLUser","sa",szUser,11,SMTSQL);
        
    GetPrivateProfileStringA("SQLConnection","SQLKey","123456",szPassword,50,SMTSQL);
        
    GetPrivateProfileStringA("SQLConnection","SQLDB","MuOnline",szDatabase,11,SMTSQL);

        if(!
    this->Connect())
        {
            
    MessageBoxA(NULL,"Failed to connect!!\nCheque 'SMTData//SMTSQL.ini'","SQL Error!!",MB_OK);
            ::
    ExitProcess(0);
        }
    }

    bool CSQLEx::Connect()
    {
        if(
    this->m_bConnected == 1)
        {
            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&this->m_SQLEnvironment)) == 0)
        {
            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLSetEnvAttr(this->m_SQLEnvironment,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0)) == 0)
        {
            
    this->FreeHandle();

            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC,this->m_SQLEnvironment,&this->m_SQLConnection)) == 0)
        {
            
    this->FreeHandle();

            return 
    false;
        }

        
    SQLSetConnectOption(this->m_SQLConnection,SQL_LOGIN_TIMEOUT,5);

        
    SQLSetConnectOption(this->m_SQLConnection,SQL_CURSOR_TYPE,SQL_CURSOR_STATIC);

        
    SQLCHAR szConStrIn[1024],szConStrOut[1024];
        
    SQLSMALLINT iConOutSize 0;

        
    sprintf((char*)szConStrIn,"DRIVER=%s; SERVER=%s; UID=%s; PWD=%s; DATABASE=%s;",szDriver,szServer,szUser,szPassword,szDatabase);

        
    SQLRETURN Connect SQLDriverConnect(this->m_SQLConnection,NULL,szConStrIn,SQL_NTS,szConStrOut,sizeof(szConStrOut),&iConOutSize,SQL_DRIVER_NOPROMPT);

        if(
    SQL_SUCCEEDED(Connect) == 0
        {
            
    this->FreeHandle();

            return 
    false;
        }

        
    this->m_bConnected 1;

        return 
    true;
    }

    bool CSQLEx::ConnectExt()
    {
        if(
    this->m_bConnected == 1)
        {
            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&this->m_SQLEnvironment)) == 0)
        {
            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLSetEnvAttr(this->m_SQLEnvironment,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0)) == 0)
        {
            
    this->FreeHandle();

            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC,this->m_SQLEnvironment,&this->m_SQLConnection)) == 0)
        {
            
    this->FreeHandle();

            return 
    false;
        }

        
    SQLSetConnectOption(this->m_SQLConnection,SQL_LOGIN_TIMEOUT,5);

        
    SQLSetConnectOption(this->m_SQLConnection,SQL_CURSOR_TYPE,SQL_CURSOR_STATIC);

        
    SQLCHAR szConStrIn[1024],szConStrOut[1024];
        
    SQLSMALLINT iConOutSize 0;

        
    sprintf((char*)szConStrIn,"DRIVER=%s; SERVER=%s; UID=%s; PWD=%s; DATABASE=%s;",szDriver,szServer2,szUser,szPassword,szDatabase);

        
    SQLRETURN Connect SQLDriverConnect(this->m_SQLConnection,NULL,szConStrIn,SQL_NTS,szConStrOut,sizeof(szConStrOut),&iConOutSize,SQL_DRIVER_NOPROMPT);

        if(
    SQL_SUCCEEDED(Connect) == 0
        {
            
    this->FreeHandle();

            return 
    false;
        }

        
    this->m_bConnected 1;

        return 
    true;
    }

    void CSQLEx::Disconnect()
    {
        if(
    this->m_bConnected == 1)
        {
            
    SQLDisconnect(this->m_SQLConnection);

            
    this->FreeHandle();
        }

        
    this->m_SQLConnection NULL;
        
    this->m_SQLEnvironment NULL;

        
    this->m_bConnected 0;
    }

    void CSQLEx::FreeHandle()
    {
        if(
    this->m_SQLConnection != NULL)
        {
            
    SQLFreeHandle(SQL_HANDLE_DBC,this->m_SQLConnection);
        }

        if(
    this->m_SQLEnvironment != NULL)
        {
            
    SQLFreeHandle(SQL_HANDLE_ENV,this->m_SQLEnvironment);
        }
    }

    bool CSQLEx::Execute(charszQuery,...)
    {
        if(
    this->m_bConnected == 0)
        {
            return 
    false;
        }

        if(
    SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_STMT,this->m_SQLConnection,&this->m_STMT)) == 0)
        {
            return 
    false;
        }

        
    char szTemp[1024];

        
    va_list pArguments;

        
    va_start(pArguments,szQuery);
        
    vsprintf(szTemp,szQuery,pArguments);
        
    va_end(pArguments);

        if(
    SQL_SUCCEEDED(SQLPrepare(this->m_STMT,(unsigned char*)szTemp,strlen(szTemp))) == 0)
        {
            return 
    false;
        }
                
        
    SQLRETURN Execute SQLExecute(this->m_STMT);

        if(
    Execute == SQL_SUCCESS || Execute == SQL_SUCCESS_WITH_INFO || Execute == SQL_NO_DATA)
        {
            if(
    SQLRowCount(this->m_STMT,&this->m_RowCount) != SQL_SUCCESS)
            {
                
    this->m_RowCount 0;
            }

            if(
    SQLNumResultCols(this->m_STMT,(SQLSMALLINT*)&this->m_ColCount) != SQL_SUCCESS)
            {
                
    this->m_ColCount 0;
            }

            return 
    true;
        }

        return 
    false;
    }

    charCSQLEx::GetLastError()
    {
        
    char szError[1024];

        
    SQLCHAR     szState[20];
        
    SQLINTEGER  iNativeError;
        
    SQLSMALLINT iOutErrorSize;

        
    SQLError(this->m_SQLEnvironment,this->m_SQLConnection,this->m_STMT,szState,&iNativeError,(SQLCHAR*)szError,sizeof(szError),&iOutErrorSize);

        return &
    szError[0];
    }

    int CSQLEx::GetRow()
    {
        return 
    this->m_ColCount;
    }

    int CSQLEx::GetInt()
    {
        
    long lSize,lResult=0;

        while(
    true)
        {
            if(
    SQL_SUCCEEDED(SQLFetch(this->m_STMT)) == 0)
            {
                break;
            }

            if(
    SQL_SUCCEEDED(SQLGetData(this->m_STMT,1,SQL_C_LONG,&lResult,sizeof(long),&lSize)) == 0)
            {
                break;
            }

            return 
    lResult;
        }

        return 
    0;
    }

    bool CSQLEx::FetchRow(charout,int len)
    {
        
    long lSize;

        while(
    true)
        {
            if(
    SQL_SUCCEEDED(SQLFetch(this->m_STMT)) == 0)
            {
                break;
            }

            for(
    int n=0;this->m_ColCount;n++)
            {
                if(
    SQL_SUCCEEDED(SQLGetData(this->m_STMT,(n+1),SQL_C_CHAR,&out[n],len,&lSize)) == 0)
                {
                    break;
                }
            }

            return 
    1;
        }

        return 
    0;


    - Depois so Dar um MySQL.Load(); na DLLMain.cpp

    ATTE.
    Última edição por Mr.TwoHam; 14-08-2010 às 11:02 AM.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Pedido| Source 97D+99I
    Por zwoorelook no fórum Pedidos
    Respostas: 3
    Último Post: 06-05-2014, 04:09 AM
  2. |Pedido| Source 96.40
    Por lukas05 no fórum Pedidos
    Respostas: 1
    Último Post: 09-08-2013, 10:10 PM
  3. |Release| Source 97d
    Por Getulio no fórum Sources
    Respostas: 5
    Último Post: 21-08-2012, 06:50 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •