Como acessar o banco de dados da MQL4 , ORACL , MSSQL, MySQL - página 7

 
toxa.forex писал(а) >>

Olá Senhores, já fiz uma pergunta em um fio paralelo, mas provavelmente vou repeti-la...

O MySQL restringe o número máximo de colunas puramente em uma tabela, para ser mais preciso, o número máximo possível de colunas é 1000, alguém sabe como essa restrição pode ser removida e é mesmo possível? Se não, que banco de dados permite criar tabelas com mais de 3000 colunas?

Muitas colunas? Portanto, o banco de dados é mal planejado - ele precisa ser normalizado.

 
Itso >> :

Muitas colunas? Isso significa que o banco de dados é mal planejado - você precisa normalizá-lo.

Itso, não tenho certeza se você leu o post anterior, então vou repetir - a normalização do banco de dados não vai levar a nada... A normalização é necessária para eliminar a redundância, esta base de dados não é redundante, respectivamente, não há necessidade de trazê-la à NF, em qualquer caso, a solução é encontrada ... Não é a mais bonita na minha opinião, mas ainda não há outras opções - usar um pouco de máscara... Como as colunas podiam tomar valores 1|0, foi decidido usar uma coluna com uma máscara de 0 e 1...

De qualquer forma, obrigado

 
TheVilkas >>:


string CommandText="INSERT INTO Rates (TimeCurrent,AccountCompany,Symb,DateTimeRate,Ask,Bid) "+
"VALUES("+TimeCurrent()+",'"+Company+"','"+Symb+"','"+DateTimeRate+"',"+Ask+","+Bid+")";
Execute(CommandText,adAsyncFetch);
Sleep(15);


Como faço para ler a partir do banco de dados?
 
Twilight писал(а) >>

Como faço para ler a partir do banco de dados?

Selecione

 
Itso >>:

Select


Estou familiarizado com o próprio SQL

string Company=AccountCompany();
string Symb=Símbolo();

Inserção nos trabalhos do banco de dados
//string CommandText="INSERT INTO Rates (TimeCurrent,AccountCompany,Symb,DateTimeRate,Ask,Bid) "+
//"VALUES("+TimeCurrent()+",'"+Company+"','"+Symb+"','"+DateTimeRate+"',"+Ask+","+Bid+")";
//string CommandText="INSERT INTO [test].[dbo].[test] ([test]) VALORES (22)";

Mas eu não estou familiarizado com a amostragem.


string CommandText="SELECT [test] FROM [test].[dbo].[test] where test=5";
teste de cordas3;
test3=Execute(CommandText,adAsyncFetch);

Comentário(teste3);
Dormir(15);



Retorna 1


Eu tentei mudar o Execute(CommandText,adAsyncFetch); o segundo parâmetro para estes

adCmdText(1) - definição de texto do comando ou procedimento armazenado.
adCmdTable(2) - criar uma consulta SQL que retorna todas as linhas da tabela especificada.
adCmdStoredProc(4) - Procedimento estocado.
adCmdUnknown(8) - tipo de comando desconhecido (padrão).
adAsyncExecute(16) - execução assíncrona do comando.
adExecuteNoRecords(128) - não devolva cordas.

Ele ainda produz o raio da coisa.

Suspeito que a Execute devolve uma série de dados e estes devem ser processados de alguma forma

 

há um exemplo na página 5 e outro na página 6

 
sergeev >>:

тут же на 5 странице пример и на 6 ещё один



nas páginas 5 e 6 um exemplo com My SQL e outra biblioteca

E eu discuto para MS SQL com a biblioteca ADOLIB.

O exemplo com ADolib contém apenas carga em um BD e descarga como eu não sei

 

Então, alguém sabe como implementar a leitura do MS SQL?

Por favor, ajude-me a resolver este problema.

 
Twilight >>:


É claro que você pode usar a opção MySQL, mas ao ler os dados do banco de dados, os Hieróglifos são exibidos na frente do valor
 

O que exatamente você tem a dizer sobre o MS SQL?

Dê-me o código e mostre-me onde ele não funciona, e nós o investigaremos.