我从 SQL 中获取数据数组,然后将它们连接为字符串以进行显示。该函数如下所示:
function FetchTopStats( Conn, iLimit )
local sToReturn = "\tS.No. \t UserName \t Score\n\t"
SQLQuery = assert( Conn:execute( string.format( [[SELECT username, totalcount FROM chatstat ORDER BY totalcount DESC LIMIT %d]], iLimit ) ) )
DataArray = SQLQuery:fetch ({}, "a")
i = 1
while DataArray do
sToReturn = sToReturn..tostring( i ).."\t"..DataArray.username.." \t "..DataArray.totalcount.."\n\t"
DataArray = SQLQuery:fetch ({}, "a")
i = i + 1
end
return sToReturn
end
这给了我这样的输出:
S.No. UserName Score
1 aim 6641
2 time 5021
3 Shepard 4977
等等。我正在考虑使用一个string.format
函数,显示如下:
S.No. UserName Score
1 aim 6641
2 time 5021
3 Shepard 4977
但是,我完全不知道如何拥有这个。我想到的唯一选择是检查用户名的字符串长度,然后\t
相应地应用。那,我想在最后使用。