![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ciao Signori, ho già fatto una domanda in un thread parallelo, ma probabilmente la ripeterò...
MySQL limita il numero massimo di colonne puramente in una tabella, per essere più precisi, il numero massimo possibile di colonne è 1000, qualcuno sa come questa restrizione può essere rimossa ed è possibile? Se no, quale database permette di creare tabelle con più di 3000 colonne?
Un sacco di colonne? Quindi il database è mal progettato - ha bisogno di normalizzazione.
Un sacco di colonne? Significa che il database è mal progettato - è necessario normalizzarlo.
Itso, non sono sicuro che tu abbia letto il post precedente, quindi lo ripeto - la normalizzazione del database non porterà a nulla... La normalizzazione è necessaria per eliminare la ridondanza, questo database non è ridondante, rispettivamente, non c'è bisogno di portarlo a NF, in ogni caso, la soluzione si trova ... Non il più bello secondo me, ma non ci sono ancora altre opzioni - usando una bitmask... Poiché le colonne potrebbero assumere valori 1|0 si è deciso di usare una colonna con una bitmask di 0 e 1...
Comunque, grazie
string CommandText="INSERT INTO Rates (TimeCurrent,AccountCompany,Symb,DateTimeRate,Ask,Bid) "+
"VALUES("+TimeCurrent()+",'"+Company+"','"+Symb+"','"+DateTimeRate+"',"+Ask+","+Bid+")";
Execute(CommandText,adAsyncFetch);
Sleep(15);
Come faccio a leggere dal database?Come faccio a leggere dal database?
Seleziona
Select
Ho familiarità con SQL stesso
stringa Company=AccountCompany();
stringa Symb=Symbol();
L'inserimento nel database funziona
//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]) VALUES (22)";
Ma non ho familiarità con il campionamento.
string CommandText="SELECT [test] FROM [test].[dbo].[test] where test=5";
stringa test3;
test3=Execute(CommandText,adAsyncFetch);
Commento(test3);
Dormire(15);
Ritorna 1
Ho provato a cambiare Execute(CommandText,adAsyncFetch); il secondo parametro a questi
adCmdText(1) - definizione testuale del comando o della stored procedure.
adCmdTable(2) - crea una query SQL che restituisce tutte le righe della tabella specificata.
adCmdStoredProc(4) - Procedura memorizzata.
adCmdUnknown(8) - tipo di comando sconosciuto (predefinito).
adAsyncExecute(16) - esecuzione asincrona del comando.
adExecuteNoRecords(128) - non restituisce stringhe.
Esce ancora quella dannata cosa.
Sospetto che Execute restituisca un array di dati e che debba essere processato in qualche modo
c'è un esempio a pagina 5 e un altro a pagina 6
тут же на 5 странице пример и на 6 ещё один
alle pagine 5 e 6 un esempio con My SQL e un'altra libreria
E discuto per MS SQL con la libreria ADOLIB.
L'esempio con ADolib contiene solo il caricamento in un DB e lo scaricamento perché non so
Qualcuno sa come implementare la lettura da MS SQL?
Per favore aiutatemi a risolvere questo problema.
Puoi ovviamente usare l'opzione MySQL, ma quando leggi i dati dal database, i geroglifici sono visualizzati davanti al valoreCosa ha da dire esattamente su MS SQL?
Dammi il codice e mostrami dove non funziona, e lo esamineremo.