【发布时间】:2012-10-12 03:57:22
【问题描述】:
我使用 ODBC 从数据库中查询表:
getTable(Ref,SearchKey) ->
Q = "SELECT * FROM TestDescription WHERE NProduct = " ++ SearchKey,
case odbc:sql_query(Ref,Q) of
{_,_,Data} ->
%io:format("GetTable Query ok ~n"),
{ok, Data};
{error,_Reason} ->
%io:format("Gettable Query error ~p ~n",[_Reason]),
{stop, odbc_query_failed};
_->
io:format("Error Logic in getTable function ~n")
end.
这个函数将返回一个包含所有数据库数据的元组。将其发送到另一个进程:
OtherProcessPid!{ok,Data};
它适用于少量的行,但是如果是非常大的行数,例如超过一百万呢? erlang 仍然可以使用它吗?
【问题讨论】:
-
> 100 万列?你的意思是行对吗?
-
另外,看起来您正在混合模块和流程的概念。消息被发送到进程,这些进程可以执行来自许多模块的代码。
-
是的,行不是列。对,发送到进程而不是模块。感谢您指出我的错误
标签: erlang