Wie greift man auf die Datenbank von MQL4 , ORACL , MSSQL, MySQL zu? - Seite 7

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

Hallo meine Herren, ich habe bereits eine Frage in einem anderen Thread gestellt, aber ich werde sie wahrscheinlich wiederholen...

MySQL beschränkt die maximale Anzahl von reinen Spalten in einer Tabelle, genauer gesagt, die maximal mögliche Anzahl von Spalten ist 1000, weiß jemand, wie diese Beschränkung aufgehoben werden kann und ist es überhaupt möglich? Wenn nicht, welche Datenbank erlaubt es Ihnen, Tabellen mit mehr als 3000 Spalten zu erstellen?

Eine Menge Spalten? Die Datenbank ist also schlecht geplant - sie muss normalisiert werden.

 
Itso >> :

Eine Menge Spalten? Es bedeutet, dass die Datenbank schlecht geplant ist - Sie müssen sie normalisieren.

Itso, ich bin mir nicht sicher, ob du den vorherigen Beitrag gelesen hast, also wiederhole ich - die Normalisierung der Datenbank wird zu nichts führen... Normalisierung ist erforderlich, um Redundanz zu beseitigen, diese Datenbank ist nicht redundant, bzw. es besteht keine Notwendigkeit, sie auf NF zu bringen, in jedem Fall ist die Lösung gefunden ... Meiner Meinung nach nicht die schönste, aber es gibt noch keine anderen Möglichkeiten - mit einer Bitmaske... Da die Spalten den Wert 1|0 annehmen können, wurde beschlossen, eine Spalte mit einer Bitmaske von 0 und 1 zu verwenden...

Wie auch immer, danke

 
TheVilkas >>:


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


Wie lese ich aus der Datenbank?
 
Twilight писал(а) >>

Wie lese ich aus der Datenbank?

Wählen Sie

 
Itso >>:

Select


Ich bin mit SQL selbst vertraut

string Company=AccountCompany();
string Symb=Symbol();

Einfügen in die Datenbank funktioniert
//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)";

Aber ich bin mit Stichproben nicht vertraut.


string CommandText="SELECT [test] FROM [test].[dbo].[test] where test=5";
string test3;
test3=Ausführen(CommandText,adAsyncFetch);

Kommentar (test3);
Schlaf(15);



Rückgabe 1


Ich habe versucht, die Execute(CommandText,adAsyncFetch) zu ändern; der zweite Parameter zu diesen

adCmdText(1) - Textdefinition des Befehls oder der gespeicherten Prozedur.
adCmdTable(2) - erstellt eine SQL-Abfrage, die alle Zeilen der angegebenen Tabelle zurückgibt.
adCmdStoredProc(4) - Gespeicherte Prozedur.
adCmdUnknown(8) - Befehlstyp unbekannt (Standard).
adAsyncExecute(16) - asynchrone Ausführung des Befehls.
adExecuteNoRecords(128) - gibt keine Zeichenketten zurück.

Sie gibt das verdammte Ding trotzdem aus.

Ich vermute, dass Execute ein Array von Daten zurückgibt und diese irgendwie verarbeitet werden sollten

 

ein Beispiel finden Sie auf Seite 5 und ein weiteres auf Seite 6

 
sergeev >>:

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



auf den Seiten 5 und 6 ein Beispiel mit My SQL und einer anderen Bibliothek

Und ich diskutiere für MS SQL mit der ADOLIB-Bibliothek.

Das Beispiel mit ADolib enthält nur das Laden in einen DB und das Entladen, da ich nicht weiß

 

Weiß jemand, wie man das Lesen aus MS SQL implementiert?

Bitte helfen Sie mir, dieses Problem zu lösen.

 
Twilight >>:


Sie können natürlich auch die MySQL-Option verwenden, aber wenn Sie Daten aus der Datenbank lesen, werden Hieroglyphen vor dem Wert angezeigt
 

Was genau haben Sie über MS SQL zu sagen?

Geben Sie mir den Code und zeigen Sie mir, wo es nicht funktioniert, und wir werden es uns ansehen.