找回密码
 加入
搜索
查看: 6295|回复: 11

[系统综合] 怎么样先sqlite数据查询后建立表格,显示在listview上,在点击一个项后赋值到变量

[复制链接]
发表于 2013-3-27 16:48:06 | 显示全部楼层 |阅读模式
本帖最后由 nangua111111 于 2013-3-31 21:35 编辑

_SQLite_Query(-1,'create table "sjbd" as (select shuju1.&"1号"&,shuju1.&"2号&" FROM shuju1 INNER JOIN shuju2 ON shuju1."&3号&" = shuju2."&4号&" WHERE shuju1."&1号&" <> '&00000000&' AND shuju2."&3号&" <> "&888&"")')
这样写查询为何不行。
_SQLite_Startup()
        $sql = _SQLite_Open(@ScriptDir & "\Database.db")       
        _SQLite_Query(-1,'create table "sjbd" as (select shuju1.&"1号"&,shuju1.&"2号&" FROM shuju1 INNER JOIN shuju2 ON shuju1."&3号&" = shuju2."&4号&" WHERE shuju1."&1号&" <> '&00000000&' AND shuju2."&3号&" <> "&888&"")',$sjbd)
   _ArrayDisplay($sjbd, "sjbd")
        While $vv=_SQLite_FetchData ($bdsj,$avArray)
           GUICtrlCreateListViewItem ($avArray,$ListView1)
   WEnd
 楼主| 发表于 2013-3-27 16:51:55 | 显示全部楼层
我要的是两个数据的碰撞 ,也就是shuju1 和数据shuju2 两个表格共同包含一个内容的提取
 楼主| 发表于 2013-3-27 19:32:45 | 显示全部楼层
create table "sjbd" as (select  shuju1.&"1号"&,shuju1.&"3号&" FROM shuju1,shuju2 where shuju1."&1号&" = shuju2."&3号&"  and shuju1."&1号&" <> '&00000000&' AND shuju2."&3号&" <> "&888&"")
不知道这样对不对,还在研究查询结果显示到listview中
 楼主| 发表于 2013-3-28 00:48:29 | 显示全部楼层
本帖最后由 nangua111111 于 2013-3-31 21:34 编辑

结果显示
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <ie.au3>
#include <Array.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
$Form1 = GUICreate("获取数据", 438, 438, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 64, 32, 113, 49)
$ListView1 = GUICtrlCreateListView("", 40, 200, 361, 185)
_GUICtrlListView_AddColumn($ListView, "State ID ", 100)
    _GUICtrlListView_AddColumn($ListView, "State Name  ", 100)
    _GUICtrlListView_AddColumn($ListView, "Tax ", 100)
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        Button1Click()
        EndSwitch
WEnd
Global $Msg, $hQuery, $aRow
Func Button1Click()
_SQLite_startup()
if @error then
    ConsoleWrite('error loading sqlite.dll' & @LF)
    Exit
EndIf
$DB=@ScriptDir&"\Database.db"
local $hmemDB = _SQLite_open($DB)
if @error then
    ConsoleWrite('Unable to open DB' & @LF)
    Exit
EndIf
_SQLite_Query($DB, "SELECT * FROM Radio order by Tax;", $hQuery)
_ArrayDisplay($hQuery,'11111')
        _SQLite_startup()
$DB=@ScriptDir&"\Database.db"
_sqlite_open($DB)
Global $hQuery, $aRow,$ONd
            _SQLite_Query(-1, "SELECT * FROM Radio ;", $hQuery)
            _GUICtrlListView_DeleteAllItems($ListView)
            While  _SQLite_FetchData ($hQuery,$ONd)= $SQLITE_OK;这里不太明白, _SQLite_FetchData抓出来的好像是一维数据,
                                   GUICtrlCreateListViewItem ($ONd[0]&"|"&$ONd[1]&"|"&$ONd[2],$ListView);这个循环是怎么做到的$ONd[0]
               WEnd
    _SQLite_Close()
EndFunc
已经解决
;这句老是错误"C:\Users\ff\Downloads\????.au3" (45) : ==> ??????????.:
;_SQLite_Query($DB, "SELECT * FROM Radio order by Tax;", $hQuery)
;_SQLite_Query($DB, "SELECT * FROM Radio order by Tax;", ^ ERROR
,数据库查询错误是由于listview语句没有写好的缘故

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2013-3-28 09:22:58 | 显示全部楼层
本帖最后由 kk_lee69 于 2013-3-28 09:26 编辑

http://www.autoitx.com/forum.php ... mp;highlight=sqlite

這裡不是有範例

评分

参与人数 1金钱 +10 收起 理由
nangua111111 + 10 谢谢

查看全部评分

 楼主| 发表于 2013-3-28 10:00:25 | 显示全部楼层
回复 5# kk_lee69
就是参照出来的,但就是不明白
 楼主| 发表于 2013-3-28 10:01:38 | 显示全部楼层
回复 5# kk_lee69
就是参照出来的,但就是不明白
发表于 2013-3-28 10:03:30 | 显示全部楼层
本帖最后由 kk_lee69 于 2013-3-28 10:09 编辑

Func SQLiteRead()


_GUICtrlListView_DeleteAllItems ( GUICtrlGetHandle ($GUI_ListBox) )


    _SQLite_Open ($SQLite_Data_Path)


    _SQLite_Query(-1, "SELECT * FROM TestTable ORDER BY IDs DESC;",$hQuery)


While _SQLite_FetchData ($hQuery, $aRow) = $SQLITE_OK


        _GUICtrlListView_AddItem($GUI_ListBox, $aRow[0])


        _GUICtrlListView_AddSubItem($GUI_ListBox, _GUICtrlListView_FindInText($GUI_ListBox, $aRow[0]), $aRow[1], 1)


        _GUICtrlListView_AddSubItem($GUI_ListBox, _GUICtrlListView_FindInText($GUI_ListBox, $aRow[0]), $aRow[2], 2)


    WEnd


    _SQLite_Close ()


EndFunc


根據上面       _SQLite_Open ($SQLite_Data_Path)

所以你試著把你原來的  local $hmemDB = _SQLite_open($DB)    前面的 local $hmemDB = 拿掉  看看
 楼主| 发表于 2013-3-28 12:21:04 | 显示全部楼层
回复 8# kk_lee69
这样做还是不行,我再仔细看看。
 楼主| 发表于 2013-3-31 21:21:48 | 显示全部楼层
回复 8# kk_lee69
谢谢,花了n天才有点进步。
 楼主| 发表于 2013-3-31 21:22:50 | 显示全部楼层
While  _SQLite_FetchData ($hQuery,$ONd)= $SQLITE_OK;这里不太明白, _SQLite_FetchData抓出来的好像是一维数据,
                                   GUICtrlCreateListViewItem ($ONd[0]&"|"&$ONd[1]&"|"&$ONd[2],$ListView);这个循环是怎么做到的$ONd[0]
               WEnd
上面这几句能各位能解释一下吗。不太明白
 楼主| 发表于 2013-3-31 21:27:39 | 显示全部楼层

能进化到点击listview显示的一个项目,后赋值到变量。
例如用鼠标点击ALABAMA ,相当于获取ALABAMA 这个值,然后赋值到变量
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-23 13:23 , Processed in 0.088870 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表