我正在开发一个 LuaLaTeX 示例,其中必须使用 Lua 从我的数据库传输日期,然后使用 LuaLaTeX 进行编译。我使用 LuaSQL 来完成所有这些工作,这是最小的工作示例:
predracun.lua:
function skupina_pricetek ()
package.cpath = package.cpath .. ";/usr/lib/lua/5.3/luasql/mysql.so"
luasql = require('luasql.mysql')
env = assert (luasql.mysql())
con = assert (env:connect("my_database","root","my_password"))
cur = assert (con:execute("SELECT pricetek FROM skupine WHERE id_skupine = (SELECT id_skupine FROM predracuni WHERE id_interesa = 1);"))
vnos = cur:fetch ({}, "a")
tex.print(
string.format([[%s]], vnos.pricetek)
)
end
predracun.tex:
\documentclass[12pt]{article}
%package for Lua support
\usepackage{luacode}
\directlua{dofile('predracun.lua')}
\begin{document}
Pričetek: & \luadirect{skupina_pricetek()}
\end{document}
现在一切正常:
它一直有效,直到我尝试通过替换SELECT pricetek
来格式化日期普雷德拉库恩使用下面任意一行:
SELECT DATE_FORMAT(pricetek,'%d. %m. %Y')
SELECT Concat(DAY(pricetek),'. ',MONTH(pricetek),'. ',YEAR(pricetek))
如果我这样做,我会得到:
看起来 LuaSQL 并不完全支持 SQL... 或者我遗漏了一些转义字符等?请注意,如果直接在数据库中执行,所描述的修改将完美无缺。
有人知道我如何在命令中传递参数1
、2
、3
...吗?我需要为每个客户将其更改为或......lualatex predracun.tex
id_interesa = 1
id_interesa = 2
id_interesa = 3