如何从MQL4、ORACL、MSSQL、MySQL访问数据库。 - 页 7

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

先生们好,已经在一个平行的主题中提出了一个问题,但我可能会重复它......

MySQL限制了一个表中纯列的最大数量,更准确地说,可能的最大列数是1000,有谁知道如何取消这一限制,甚至是否可能?如果不是,什么数据库允许你创建超过3000列的表?

有很多专栏?因此,数据库的规划很差--它需要规范化。

 
Itso >> :

有很多专栏?这意味着数据库的计划性很差--你需要将其规范化。

Itso,我不确定你是否读过之前的帖子,所以我再重复一遍--数据库的正常化将导致什么都没有......归一化是需要消除冗余的,这个数据库没有冗余,分别没有必要把它带到NF,在任何情况下,解决方案是找到...在我看来,这不是最漂亮的,但目前还没有其他的选择--使用比特掩码...由于这些列可以取值为1|0,我们决定使用一个具有0和1比特掩码的列。

总之,谢谢

 
TheVilkas >>:


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


我如何从数据库中读取?
 
Twilight писал(а)>>

我如何从数据库中读取?

选择

 
Itso >>:

Select


我对SQL本身很熟悉

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

插入数据库的工作
//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)"。

但我对抽样调查并不熟悉。


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

评论(test3)。
睡眠(15)。



返回 1


我试着把Execute(CommandText,adAsyncFetch);的第二个参数改为这些

adCmdText(1) - 命令或存储过程的文本定义。
adCmdTable(2) - 创建一个SQL查询,返回指定表格的所有记录。
adCmdStoredProc(4) - 存储过程。
adCmdUnknown(8) - 命令类型未知(默认)。
adAsyncExecute(16) - 异步执行命令。
adExecuteNoRecords(128) - 不返回字符串。

它仍然在输出那该死的东西。

我怀疑Execute返回了一个数据数组,它应该以某种方式被处理。

 

第5页有一个例子,第6页有另一个例子。

 
sergeev >>:

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



在第5页和第6页,有一个使用My SQL和另一个库的例子。

我还讨论了MS SQL与ADOLIB库。

使用ADolib的例子只包含在DB中加载和卸载,因为我不知道

 

那么有没有人知道如何实现从MS SQL中读取?

请帮助我解决这个问题。

 
Twilight >>:


你当然可以使用MySQL选项,但当从数据库中读取数据时,在数值前面会显示象形文字
 

你对MS SQL到底有什么要说的?

把代码给我,告诉我哪里不工作,我们会研究的。