Erlang访问关系数据库的方式极为有限,目前似乎只有ODBC。使用ODBC时有时候会莫名其妙地出现一些错误,很难查找原因。故写了一个ADO.NET的数据访问模块,以期在项目中使用,感觉还不错。
现介绍一下基本使用情况,使用前必须设置一下环境变量set ARCHDIR=windows,然后:
application:start(adonet)
然后,连接数据库:
{ok, Ref} = adonet:open("User ID=sa;Data Source=192.168.1.133;Password=soft123456;Initial Catalog=trade;Provider=SQLOLEDB.1;"),
查询数据:
adonet:select(Ref,"select name,id,code from goods where id>?",[3])
成功执行将返回:
{ok,["name","id","code"],
[{"ddd",4,"332"},
{"微波炉",5,"004"},
{[],6,"005"},
{"er",7,"006"},
{"液晶电视",8,"098"},
{"洗衣机",9,"007"},
{"TCL电脑",10,"008"},
{"名称\nabc",11,"001"}]}
插入,删除待操作可以使用do,例如:
adonet:do(Ref, "insert into goods(name,code) values(?,?)",
["name1","001"])
目前仅实现select和do二个函数,其他的以后慢慢再完成。