Ⅰ 如何在PB中寫sql語句查詢數據
首先在ID上創建聚集索引是必須的。
如果ID是連續的,樓上的的用id來限定語句范圍是很快的。
如果id不是連續的,樓主的語句使用了not in,一般這樣效率是很低的。
可以把語句改成
select top M *
from table
where id> (select max(id) from (select top N id from table order by id) a)
order by id
這樣可以一定程度上提高一些性能。
比如我的表中有300多萬條記錄,使用樓主的語句執行時間需要9秒多,而用我的語句3秒多。
Ⅱ 如何在PB中創建SQL SERVER資料庫設備與資料庫
因 為 在 PB中 必 須 跟 指 定 的 DB建 立 連 接 。
能 在 PB中 創 建 SQL SERVER數 據 庫 設 備 與 數 據 庫 。
因 為 在 安 裝 MSSQL SERVER 數 據 庫 時 安 裝 了 MASTER數 據 庫 , 你 可 以進 入 PB 數 據 庫 描 繪 器 建 立 與 mssql master數 據 庫 的 連 接 , 然 後 進 入
DB ADministration 描 繪 器 , 直 接 用 sql 語 句 創 建 設 備
創 建 設 備 語 句 例 如
DISK INIT NAME =''mq'', PHYSNAME = ''C:\MSSQL\DATA\zxxlog.DAT'', VDEVNO = 101, SIZE = 21200
然 後 執 行
創 建 了 mq 設 備 , 創 建 數 據 庫 雷 同 。
在 程 序 腳 本 中 編 寫 時 注 意 : 連 接 MSSQL時 SQLCA.AutoCommit = true
腳 本 例 子
sql1="DISK INIT NAME = ''mq'', PHYSNAME = ''C:\MSSQL\DATA\zxxlog.DAT'', VDEVNO = 101, SIZE = 21200"
執 行 程 序 創 建 mq設 備 。
Ⅲ 新手提問:PB中如何執行sql語句
PB 的腳本中可以直接嵌入SQL語句,變數引用使用":"號做前綴。
比如
string ls_name
select t_name into :ls_name from table_test ;
Ⅳ 在PB的什麼模塊中寫sql語句查詢l數據並把查詢結果輸出為dbf資料庫格式
在DB
PAINTER中的ISQL
SESSION頁。
點上方菜單的tools,選擇DataBase
Painter一項。
這裡面是你在PB中配置的資料庫連接,打開後看右側,有個tab頁叫ISQL
Session,這這裡面寫查詢代碼,最後用分號(英文的分號)結尾,點Design裡面的Execute
ISQL執行查詢。
其實在PB的快捷圖標中,DataBase
Painter和Execute都是有對應的圖標的,點圖標按鈕就行。
查詢之後,結果會列在Result一頁,自動會跳轉到那頁。然後在上面點右鍵,save
rows
as一項,可以另存出來。不過我好想不記得裡面有另存成DBF的選項,有DIF,還有TEXT,CSV等等的。
Ⅳ 用PB設計一個登錄界面,在按鈕點擊事件里能不能寫sql語句
如果你是初學pb的話,可以在看以下步驟:
很簡單的哈
建兩個文本框 text1和text2和兩個按鈕cb_1,cb_2
在cb_1的click事件中寫:
if text1.text="用戶名" and text2.text="密碼" then
open("驗證正確後打開的新窗口名")
close("當前窗口的名稱")
else
messagebox("提示","用戶名或密碼錯誤!")
end if
可以將用戶名和密碼與資料庫進行連接,這樣靈活性更高些
具體方法可用select語句,比方建了個表有兩個欄位用來存儲名字和密碼(name 和 password)
select name
form 表名
where 存名字的變數名=text1.text and 存儲密碼的變數名=text2.text
into 另一個變數名(假設變數名是a)
if a="" then也就是沒有返回值
messagebox("提示","密碼錯誤")
end if
也可以在where 那將名字變數和密碼變數分開用if判斷
是否有這個用戶名,然後再判斷密碼是否錯誤.
網上飄著,好無聊,順便回答下吧........
Ⅵ pb9.0中怎樣寫一個sql語句,然後看結果
菜單圖標找「database」,打開的界面找「ISQL Session」框內輸入就可以了
Ⅶ 急!急!急!!!SQL語句如何在PB中運行
string ls_path ,ls_use
SQLCA.AutoCommit = TRUE
ls_use = 'EXEC'+'('+"'USE master'"+')'
EXECUTE IMMEDIATE :ls_use ;
ls_path = sle_1.text //sle_1.text 是備份路徑
ls_path = ls_path + "完全備份.dmp"
setpointer(hourglass!)
ls_use ="backup database " + sqlca.database + " to disk='" + ls_path + "' with init "
EXECUTE IMMEDIATE : ls_use ;
SQLCA.AutoCommit = FALSE
if sqlca.sqlcode >= 0 then
messagebox("提示","備份成功完畢.")
else
messagebox("提示","備份失敗,當前選擇的文件夾不存在,請選擇正確的文件夾..")
return
end if
Ⅷ pb9.0 怎麼在pb里執行sql語句並讓數據窗口顯示執行語句後的結果
新建一個gid數據窗口
Ⅸ pb中數據窗口怎樣生成sql語句
不太好解釋清楚,沒自己打開看來的直觀。
你只要看到pb窗口裡面的表格就是數據窗口在窗口上的體現。當然統計圖之類的都是數據窗口的各種樣式。找到數據窗口控制項後,右鍵點屬性,看連接的是哪個數據窗口。或者直接點右鍵的修改數據窗口,(英文版找類似的英文菜單)就打開數據窗口了,然後點菜單上的sql,你會發現數據窗口就是sql語句組成的。
還有不能混淆的是右鍵點數據窗口控制項的script看到的是事件的代碼,也就是pb
script語句,不是數據窗口的代碼,數據窗口的代碼都是sql語句
Ⅹ pb 嵌入式sql語句的寫法(在線等,急急急)
string id1,name1,password1,str1
id1=''
name1=''
password1=''
str1='insert into users(id,name,password)'
prepare sqlsa from :strq using sqlca;
execute sqlsa using :id1,:name1:password1;