国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
CSDN技術中心 PB學習筆記之SQL語句
userphoto

2005.09.21

關注
任何對sql類數(shù)據(jù)庫操作的語言必學的:),下面的是PB版本,有一些PB的特性.



SQL語句
sql語句以;結束,可寫成多行形式而不用&
1、SELECT
注意:變量前加:
一個例子:
SELECT Employee.Emp_id,Employee.Emp_name,
Employee.Emp_salary,Dept.Dept_name
FROM Employee,Dept
WHERE (Emp_name like ‘張%‘)AND (Emp_sex=‘男‘)
AND Employee.Dept_id=Dept.Dept_id
ORDER BY Employee.Emp_id;

給變量的例子:
Dec Emp_salary
SELECT max(Emp_salary)
INTO :Emp_salary
FROM Employee;


2、INSERT
一個例子:
Int Emp_nbr
String Emp_name
Emp_nbr=Integer(sle_number.Text)
Emp_name=sle_name.Text
INSERT INTO Employee(employee.Emp_nbr,employee.Emp_name)
 VALUES(:Emp_nbr,:Emp_name)
USING Emp_tran;

3、UPDATE
一個例子:
UPDATE Employee//表名
SET emp_name=:sle_Name.Text //修改
 WHERE Employee.emp_nbr=:Emp_nbr;//修改條件

4、DELETE
一個例子:
DELETE FROM Employee //從表Employee
 WHERE Emp_nbr <100;刪除條件滿足的記錄
5、CONNECT和DISCONNECT
執(zhí)行DISCONNECT前自動執(zhí)行COMMIT
6、COMMIT和ROLLBACK
7、使用游標(用來保存多條記錄操作)
DECLARE,OPEN,FECTH...INTO...:NAME,CLOSE,DELETE(刪除游標指向的記錄),UPDATE(修改游標指向的記錄)
利用游標打開多個記錄的例子
//聲明powerscript變量,存放讀出的雇員姓名
String emp_cur CURSOR FOR
 SELECT emp_name FROM EMPLOYEE
 WHERE emp_state=:sle_1.text;
//打開游標,執(zhí)行SELECT語句
OPEN emp_cur;
//從結果集中取第一條記錄
FETCH emp_cur INTO "emp_name_var;
//判斷FETCH語句執(zhí)行情況
IF SQLCA.SQLCode<0 THEN
 MessageBox("Datebase Error",&//顯示錯誤信息
 SQLCA.SQLErrText,Exclamation!)
RETURN
END IF
//如果FETCH語句執(zhí)行正確,用循環(huán)語句逐條取結果集中的記錄,到取完
DO WHILE SQLCA.SQLCode=0 //是否取完數(shù)據(jù)
//把取出的雇員姓名加入下拉列表框中
dlbl_1.additem(emp_name_var)
//繼續(xù)從結果集中取下一符合條件的數(shù)據(jù)
FETCH emp_cur INTO :emp_name_var;
LOOP
//關閉游標
CLOSE emp_cur;

8、處理BLOB型數(shù)據(jù)(大部分語句只能對一條記錄進行操作,多余則出錯)
SELECTBLOB,

一個例子:
//聲明BLOB型變量Emp_id_pic,用語存放Emp_pic列的數(shù)據(jù)
Blob Emp_pic
SELECTBLOB Emp_pic
 INTO :Emp_id_pic
 FROM Employee
 WHERE Employee.Emp_Id="001"
 USING Emp_tran;
//如果執(zhí)行正確,在pb_1中顯示照片
IF Emp_tran.SQLCode=0 THEN
pb1.SetPicture(Emp_id_pic)
END IF

UPDATEBLOB
一個例子:
Integer fh
Blob Emp_id_pic
//以讀方式打開一個流模式文件
fh=FileOpen("c:\emp_100.bmp",StreamMode!)
//判斷打開文件是否成功
IF fh<>-1 THEN
//從文件中讀取圖形數(shù)據(jù)存于Blob型變量
 FileRead(fh,emp_id_pic)
//關閉文件
 FileClose(fh)
//修改表的emp_pic列
UPDATEBLOB Employee
SET emp_pic=:Emp_id_pic
 WHERE EMp-Id="001";
END IF
IF SQLCA.SQLNRows>0 THEN//判斷是否返回結果
 COMMIT;/提交事務
ELSE
ROLLBACK;//回滾事務
END IF

9、動態(tài)SQL語句
事務對象,動態(tài)描述區(qū)(SQLSA),動態(tài)描述區(qū)(SQLCA)
示例1:
String Mysql
Mysql ="CREAT TABLE Employee"&
 +"(emp_id char(6)not null,"&
 +"emp_hbr integer not null,"&
 +"dept_id integer not null,"&
 +"emp_fname char(10) not null,"&
 +"emp_lname char(20) not null)"
EXCUTE IMMEDIATE :Mysql;
實例2:
EXCUTE IMMEDIATE "DROP TABLE Employee" USING My_trans;
等價于:
String Mysql
Mysql+"DROP TABLE Employee"
EXCUTE IMMEDIATE :Mysql USING My_trans

實例3:
//在表中插入記錄
Int Dept_id_var=156
String Dept_name_var
SetNull(Dept_name_var)
CONNECT;//
PREPARE SQLCA //prepare的作用???
 FROM "INSERT INTO dept VALUES(?,?)";
EXCUTE SQLCA USING :Dept_id_var,:Dept_name_var;
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
sql重要及不常用語句收集
程序員老鳥寫sql語句的經(jīng)驗之談
ORACLE數(shù)據(jù)庫習題
PB與各種數(shù)據(jù)庫連接
第7章 數(shù)據(jù)庫編程基礎
SQL連接(內(nèi)連接,左連接,右連接,自連接)詳解
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服