qsy666888 发表于 2014-8-3 10:30:09

我写的从数据库里查找需要查询的字符串代码,问题出现在哪里,请指教

本帖最后由 qsy666888 于 2014-8-3 23:35 编辑

我写的从数据库里查找需要查询的字符串代码,问题出现在哪里,请大大们指教

_SQLite_QuerySingleRow(-1, "SELECT * FROM "& $tblname & "WHERE 账号"& StringInStr(&"账号"&,$SS1) ";", $aRow1)

kk_lee69 发表于 2014-8-3 14:32:23

回复 1# qsy666888


"WHERE 账号"   這個怪怪的是不是應該是   "WHERE 账号="或者< 或者 > 等判斷式 才對吧

qsy666888 发表于 2014-8-3 16:23:28

回复 2# kk_lee69
   
是的,可能我表达写错了,我是想输入关键字在数据库里账号列里查找含有关键字的行

user3000 发表于 2014-8-3 17:05:50

楼主这几天发帖不少,可惜很多时候让人不知所云!

相关SQL语法:
"SELECT * FROM Your_Table WHERE column LIKE 'KEYWORD%'

用百分比符号 % 代替一个或多个字符, 根据需要可放于字符串中任一位置:
%KEYWORD%   %KEYWORD    KEY%D

qsy666888 发表于 2014-8-3 20:58:12

本帖最后由 qsy666888 于 2014-8-3 21:00 编辑

回复 4# user3000
_SQLite_QuerySingleRow(-1, "SELECT * FROM "& $tblname & "WHERE 账号"& 'LIKE'& $SS1 &"%;", $aRow1)
                $Temp1 = $aRow1
                If $Temp1 = "" Then
                        MsgBox(262208, "查找结果...", "数据库中 [" & $SS1 & "] 的相关信息不存在!")                     
                Else       
                        Xianshi()


我把你的代码换进去后,闪退现象

kk_lee69 发表于 2014-8-3 21:10:42

回复 5# qsy666888


    _SQLite_QuerySingleRow(-1, "SELECT * FROM "& $tblname & "WHERE 帳號 like '%"&$SS1&"%'",$aRow1)

user3000 发表于 2014-8-3 22:00:10

回复 5# qsy666888

你的代码有多处错误.
"表名称" 与 "WHERE", "账号" 与 "LIKE"之间都没有空格!
还有关键字应该用单引号括起来.
_SQLite_QuerySingleRow(-1, "SELECT * FROM " & $tblname & " WHERE 账号 LIKE '" & $SS1 & "%';", $aRow1)

我4楼的回复, 第三行末尾少打了一个双引号!(或者说,该句的前头多打了一个双引号!)

qsy666888 发表于 2014-8-3 22:47:52

回复 7# user3000


    首先感谢kk_lee69 和user3000两位大侠的热心帮助,在功能上还是没有达到,必须输入完整的需要查询的文本或数字才能找到需要查询的数据,
比如:在数据库里账号列有一行是1104891307,而我们由于时间长久等原因记不住全部数字,所以只要我们输入110或者307等关键字,点击查询就能够把带有110或者307的行显示在ListView表格里,两位大侠帮我修改的,只能输入完整的字符串即1104891307,才能查到数据库有此行数据。

user3000 发表于 2014-8-3 23:12:26

回复 8# qsy666888


    用你另一个帖子的数据库来做例子.#Include <GuiListView.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
_SQLite_Startup ()
$SQLite_Data_Path = "SQLite.db"
$Tablekj = "kaojuan"
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("从数据库里获取姓名示例", 478, 412, 481, 210)
GUISetFont(11, 400, 0, "宋体")
Global $ListView1 = GUICtrlCreateListView("序号|姓名|语文", 8, 8, 458, 358)
KC_lvdraw()
Global $Button1 = GUICtrlCreateButton("查看分数", 293, 376, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit
                Case $Button1
            msgbox(0,"70多分者", _get_N(7, 1))
                          msgbox(0,"分数个位数是5者", _get_N(5, 0))       
        EndSwitch
WEnd

Func _get_N($iNum, $iCode = 1)
        Local $aRow, $hQuery, $sMsg = ''
        Local $sQuery
        If $iCode Then
          $sQuery = "'" & $iNum & "%'"
        Else
                $sQuery = "'%" & $iNum & "'"
        EndIf
        _SQLite_Open ($SQLite_Data_Path)
        _SQLite_Query(-1, "SELECT * FROM kaojuan WHERE 分数 LIKE " & $sQuery & ";", $hQuery)
        While _SQLite_FetchData($hQuery, $aRow) = $sqlite_ok
                $sMsg &= $aRow & @TAB & $aRow & @CRLF
        WEnd
        Return $sMsg
EndFunc       

Func KC_lvdraw()
        _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
        Local $Irval, $Aresult, $Irows, $Icolumns
        $Irval = _SQLite_GetTable2d( _SQLite_Open ($SQLite_Data_Path), "select rowid,* from kaojuan;", $Aresult, $Irows, $Icolumns)
        _ArrayDelete($aresult, 0)
    _GUICtrlListView_AddArray($ListView1, $Aresult)
EndFunc

qsy666888 发表于 2014-8-3 23:38:11

回复 9# user3000

数据库我上传上来,大侠你试试,我这边
    没有显示出来

kk_lee69 发表于 2014-8-3 23:51:47

回复 10# qsy666888

其實 我們回答的絕對不會錯
問題就出在SQLlite的 SQL 語言 語法的版本跟
標準的SQL 語言 不一樣

我們的 回答都是 針對 SQL 語法

所以你要解決的問題 應該朝著 兩種語言 對於 LIKE 的用法??萬用字元 等等的 方面去著手

kk_lee69 发表于 2014-8-4 00:07:16

回复 10# qsy666888

請附上妳的程式碼

qsy666888 发表于 2014-8-4 00:12:42

回复 12# kk_lee69

源码在9楼

kk_lee69 发表于 2014-8-4 01:02:11

回复 13# qsy666888

no such column: 分數

表示 沒有叫做 分數的 欄位名稱請問 分數那一欄 的欄名 為何??

kk_lee69 发表于 2014-8-4 01:18:17

回复 13# qsy666888

老大 你的資料庫 也是拿別人的來改吧 !!
恐怕是

把九樓的 第 36 行其中的 分數改為 語文理論上 應該 可以

另外 再給個建議欄位名稱 請用英文
页: [1] 2
查看完整版本: 我写的从数据库里查找需要查询的字符串代码,问题出现在哪里,请指教