[已解决]sqlite数据库 au3怎样读取到最后一行的数据?
本帖最后由 sd23 于 2012-12-21 15:35 编辑表A :
id L1 L2 L3
1 21 54 40
2 12 55 78
...
80 33 21 99
我的问题:
au3中,怎样读取到最后一行(80行)L2 列的数据(21这个值)?谢谢了
(id是自增的)
------------------------------------------------------------------
题外话:
把一个表的所有数据放入一个2维数组倒是可以解决,如单为这个就太浪费资源了
顺便写出来,也许比我还新的新手有用:
_SQLite_GetTable2d(-1,"SELECT * FROM 表名 ,$aRows1,$aRows2,$aRows3)
$aRows1[][] 就是了,$aRows2=行,$aRows3=列
------------------------------------------------------------------ 我想写数据库现在不知道怎么连接 可以这样解决:
select count(Rows1) from Table 获取列表总数count
然后,select * from Table limit 1 offset count-1 回复 3# papapa314
谢谢回复!
请问用Au3的哪个_SQLite....函数来执行这段代码?
这是我最不明白的地方,试过几个_SQLite....函数都未成功 用过access数据库的操作,觉得还是access数据库操作简单,如下是循环读取所以数据的操作,供参考$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$RS = ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.Open("Select MachineName,PCName,IPaddress,MachineStatus,SoftwareRev,ClientRev,MacAddress,UpdateDateTime From " & $tblname & " Where Machinetype = 'Swage'")
While Not $RS.eof And Not $RS.bof
If @error = 1 Then ExitLoop
$arrayOfdata = _DataToArray($row - 1, $RS.Fields(0).value, $RS.Fields(1).value, $RS.Fields(2).value, $RS.Fields(3).value, $RS.Fields(4).value, $RS.Fields(5).value, $RS.Fields(6).value, $RS.Fields(7).value)
_ExcelWriteArray($oExcel, $row, 1, $arrayOfdata, 0)
$row += 1
$RS.movenext
WEnd
$RS.close 本帖最后由 sd23 于 2012-12-18 00:25 编辑
回复 5# xms77
谢谢!
因要求内嵌数据库,所以必须用sqlite
主要是看不懂中文帮助中Au3的某些_sqlite函数用法
所以做到这步卡住了,努力学习中....
我只想有前辈指点一下 使用Au3中的哪个 _sqlite 函数即可,能找到方向就好,当然能给个示例就更好了。我不想做伸手党,只是这些个_sqlite.... 我真的很迷糊
_SQLite_Exec() ?
_SQLite_Query() + _SQLite_FetchData() ?
这些都试过,不得要领,失败。。。。。
用了一堆sql的代码来试,如:
select rownum,L1,L2, L3 from tablename where rownum = select max(rownum) from tablename
select * from (select a.* ,rownum as rn from a ) where rn = (select max(rownum) from a )
select * from tbl where id=maxid
SELECT MIN(id) FROM table_nameORDER BY Company DESC
SELECT Max(id) FROM table_name
结果是迷糊得更加不知道Au3 中究竟该用哪个函数来执行这些代码。。。。。 _SQLite_Exec() ? 应该是用UPDaTE INSERT 等操作
查询取结果。。用这个就可以了_SQLite_Query() 回复 7# auto
谢谢!
这些函数我都反复试过,看来我的问题是对于使用这些函数不得要领,继续努力,同时继续求教。。。
看来应该在 _SQLite_Query(),_SQLite_FetchData() 上努力 回复 8# sd23
会取第一行的数据吗? _SQlite_Query (-1, "替换自己SQL查询语句;", $hQuery)
IF _SQLite_FetchData ($hQuery, $aRow, False, False) = $SQLITE_OK
ConsoleWrite(StringFormat(" %-10s%-10s%-10s%-10s ", $aRow, $aRow, $aRow, $aRow) & @CRLF) ;显示第一行的数据。。假设有个4个字段
ENDIF 回复 10# auto
谢谢auto!
能确定就这几个函数了,目前忙,空了再突击一下sql,有结果了再汇报。 select top 1 L2 from table order by id desc select L2 from 表Awhere id=(select Max(id) from 表A )
页:
[1]