pbsql
A. pb中sql語句不執行
剛剛測試了你上面的代碼,請將:
PREPARE SQLSA FROM 'insert into information values (:split_arry[1],:split_arry[2],:split_arry[3])';
EXECUTE SQLSA USING :split_arry[1],:split_arry[2],:split_arry[3];
改成:
PREPARE SQLSA FROM 'insert into information values (?,?,?)';
EXECUTE SQLSA USING : split_arry[1],:split_arry[2],:split_arry[3];
在PB9下執行通過。
B. 怎麼用設置odbc,把pb和sql資料庫(表)連接
你的sqlserver和pb是哪個版本?2005以下的可以和pb11以下版本直連,2005隻能和pb11以上版本直連,如果你想跨版本鏈接,只能用odbc來連,在開始菜單中的控制面板裡面的數據源,選擇你要鏈接的數據源
C. pb sql語句錯誤
學習了一邊setsqlselect的幫助,看到這樣一句表述:
If the new SELECT statement has a different table name in the FROM clause and the DataWindow object is updatable, then PowerBuilder must change the update information for the DataWindow object.
我懷疑是因為存儲過程的表名和原sql里表名不同,pb對dw進行設置出現的此錯誤提示。
我發現dw里果然設置update屬性啦,將update屬性取消,問題解決。
D. pb中怎麼看到數據窗口的sql語句
打開資料庫窗口編輯界面,找到data source按鈕(圖標是字母'SQL')。點擊data source按鈕,打開data source編輯界面,找到syntax選項卡,即SQL語句。
如果要SQL語句方式修改資料庫窗口,那在菜單design,選擇子菜單convert to syntax,即可切換圖形視窗和SQL語句方式修改資料庫窗口數據源。
E. PB中sql語句使用
select price into :price_1 from pricelist where item_name=:ls_item;
F. pb中數據窗口怎樣生成sql語句
不太好解釋清楚,沒自己打開看來的直觀。
你只要看到pb窗口裡面的表格就是數據窗口在窗口上的體現。當然統計圖之類的都是數據窗口的各種樣式。找到數據窗口控制項後,右鍵點屬性,看連接的是哪個數據窗口。或者直接點右鍵的修改數據窗口,(英文版找類似的英文菜單)就打開數據窗口了,然後點菜單上的sql,你會發現數據窗口就是sql語句組成的。
還有不能混淆的是右鍵點數據窗口控制項的script看到的是事件的代碼,也就是pb
script語句,不是數據窗口的代碼,數據窗口的代碼都是sql語句
G. PB中 SQL語句有哪些
pb中sql分為內嵌sql和動態sql
內嵌sql可以select、update、insert、delete。
動態sql可以create table等等。
另外還有數據窗口,可以完成數據的增刪查改
H. 如何在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設 備 。
I. pb 怎麼連上sql server
初次使用pb10的朋友無法順利連接到sql
server,一方面沒有了mssql
server專用介面了,另一方面資料庫管理系統(dbms)換成了「ole
db」,配置起來有點不順手!下面就來介紹pb10中用ole
db連接sql
2000資料庫。
在安裝pb10的時候選擇custom/full方式安裝(默認的安裝方式不會安裝ole
db介面),next-》如果你沒有安裝.net則不要選擇列表中的ado.net....項。一路next完成安裝。
在資料庫畫板中找到ole
microsoft
ole
db項,在其上右鍵新建一個配置,在彈出的配置窗口中:
profile
name:填寫配置文件名
//任意即可
provider:選擇資料庫管理系統類型,這里選擇「sqloledb」項
data
source:伺服器名(和之前的版本不太一樣)。可以在下拉列表中選擇,也可以填入伺服器名或ip地址如:127.0.0.1等。如果上面的provider不是「sqloledb」則此下拉列表中可能沒有選項。
user
id:用戶名。我的用戶名是默認的sa
password:對應上面user
id的密碼,我的密碼是空的,所以不填。
到這里你就可以順利的連接到sql
server了。但是連接到哪個資料庫呢?上面的參數都沒有指明,我也找了半天:p。不要著急,在extended里填入
「database=資料庫名」
就可以了。(不要引號)
最後的配置文件內容為:
//
profile
his
sqlca.dbms
=
"ole
db"
sqlca.logid
=
"sa"
//我的用戶名是sa
sqlca.autocommit
=
false
sqlca.dbparm
=
"provider='sqloledb',datasource='netmanager',providerstring='database=zs'"
//我的資料庫名是:zs;datasource後面也可以是ip地址:datasource='127.0.0.1'
至此就完成了pb10下用ole
db連接sql
server的配置!
J. pb中怎麼對sql進行增刪改差,還有怎麼調用時間控制項,謝謝網友們了
可以用到數據窗口,這也是Pb精華所在,不用編寫sql代碼,就可以調用函數對資料庫中的表進行增刪改查。1.增加:用InserRow(n)----n為行號,當為0時,在末尾一行插入一個空行;2.刪除:deleteRow(n)----n為行號。3.改:最直接的方法直接在數據窗口上編輯數據,然後利用update()函數更新表數據。如果更新成功就提交數據,相反如果失敗就回滾,不提交數據。具體代碼:if
update()
>
0
then
commit;//提交數據
else
rollback;//回滾數據,不提交
end
if
4查詢:簡單
幾個條件查詢
可以用到setfilter()
函數進行過濾。譬如dw_1.setfilter("id
=
1")
dw_1.filter()//查詢id
=1所有數據
復雜的可以利用修改拼接條件數據窗口data
source
sql語句來實現.具體的:先得到數據窗口data
source
sql語句.
string
ls_sql
ls_sql
=
dw_1.getsqlselect()
//然後加入查詢sex
=『男』,class
=
'2',score
>
'90'的所有數據.
這樣拼接條件
string
ls_final
ls_final
=
ls_sql
+"where
sex
=
'男'
and
class
=
'2'
and
score
>
'90'
";//注意最後要有分號!
dw_1.setsqlselect(ls_final)
dw_1.retrieve()//檢索數據,得到要求查詢結果.
時間控制項
您說的是timer()函數
還是修改日期的控制項em?前者
timer(1)代表每一秒中出發timer()事件中的代碼.後者是利用掩碼控制項.調整mask格式即可
譬如yyyy-mm-dd
顯示出來的日期是2011-05-30
一般都是在窗口的open事件中
寫上
em_rq.text
=
string(today,'yyyy-mm-dd')
//效果同前