找回密码
 加入
搜索
楼主: cfs43210

[AU3基础] [己解决]SQL2000操作存储过程!

 火.. [复制链接]
 楼主| 发表于 2014-7-17 23:10:51 | 显示全部楼层
回复 30# kk_lee69
出错!

服务器: 消息 170,级别 15,状态 1,过程 getPers,行 1
第 1 行: ',' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,过程 getPers,行 8
必须声明变量 '@變數1'。
发表于 2014-7-17 23:13:15 | 显示全部楼层
回复 32# cfs43210

看來 你真不懂  等我一下 我正在改
待會給你 符合你資料庫的語法
 楼主| 发表于 2014-7-17 23:14:31 | 显示全部楼层
回复 33# kk_lee69

好的,谢谢!
发表于 2014-7-17 23:22:50 | 显示全部楼层
本帖最后由 kk_lee69 于 2014-7-17 23:24 编辑

回复 32# cfs43210

首先 把你 原本的 getPers  砍掉  變成下面這個


CREATE PROCEDURE getPers
(
@SA nvarchar(100),@SB nvarchar(100)
)
    as
    set nocount on
    begin
       Select * from Pers where PERSID=@SA  and Name=@SB
    end
    go

成功後 就可以在 AU3 裡面 使用

$RS.open ("EXEC getPers '44130','张三2000000'")
While (Not $RS.eof And Not $RS.bof);迴圈讀表
        MsgBox(0, "欄位一", $RS.Fields (0).value,5);顯示第一個欄位 資料 
 
        $RS.movenext;跳出迴圈
WEnd;結束迴圈讀表
$RS.close;關閉數據分表


接下來  以後想查詢其他人
只要更改  '44130','张三2000000'   這兩個值  隨時可以利用 預存程序查到你要的東西
 楼主| 发表于 2014-7-17 23:24:17 | 显示全部楼层
回复 31# kk_lee69

那预存程序不是对我没什么用 '44130' '张三2000000'不是固定的
Select * from Pers where PERSID='44130' and Name='张三2000000'
因为我用这个语句返回慢,以为预存会快点
发表于 2014-7-17 23:25:56 | 显示全部楼层
回复 36# cfs43210

預存程序 只是為了方便調用

不是為了快 ~~ 如果 慢 得了解  資料庫為何慢   慢在哪

才能治本
发表于 2014-7-17 23:27:36 | 显示全部楼层
回复 36# cfs43210

能否說明 你實際上到底要做什麼事情  困難在哪 也許可以給你建議  

我對資料庫熟些
 楼主| 发表于 2014-7-17 23:39:54 | 显示全部楼层
回复 37# kk_lee69

明白了,谢谢你这么耐心帮我讲解,不知道是什么原因就是第一次读取慢.我再查查看,预存我就用不上了,收获学习预存.谢谢了哥们!
发表于 2014-7-17 23:49:17 | 显示全部楼层
回复 39# cfs43210

注意幾個
1. 查詢條件的 欄位最好選 有建立索引的
2. 資料庫常用的 欄位最好都要建立索引  這樣速度會有差別的
 楼主| 发表于 2014-7-18 00:00:30 | 显示全部楼层
回复 38# kk_lee69
谢谢!因为我是远程写入数据,写入数前先查询数据是否存在,如果存在就返回消息,就是返回消息慢,要7秒左右,这个问题好象只是第一次会慢,第二个就不会,好象读取过一次后返回就不会慢,这个问题在SQLite数据库我也碰到这个问题.不知道是什么原因.
发表于 2014-7-18 02:01:55 | 显示全部楼层
回复 41# cfs43210

當然 因為 當你第一次要查詢  查詢完畢後 其實 SQL 主機 本身會有暫存檔  存在記憶體中

所以你第二次查就很快
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 08:04 , Processed in 0.065884 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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