詳解易語(yǔ)言操作sql server實(shí)例
最近看到很多初學(xué)者在問(wèn)在易語(yǔ)言中如何操作SQL Server以外部數(shù)據(jù)庫(kù),也有人提出想要個(gè)全面的操作過(guò)程,為了讓大家能夠盡快上手,我給大家簡(jiǎn)單介紹一下操作SQL的過(guò)程,希望能起到拋磚引玉的作用。
由于我本身工作業(yè)比較忙,就以我目前做的一個(gè)軟件的部份內(nèi)容列給大家簡(jiǎn)單講講吧,高手就不要笑話了,只是針對(duì)初學(xué)者
第一步,首先需要建立一個(gè)數(shù)據(jù)庫(kù):
以建立一個(gè)員工表為例,各字段如下:
3 員工ID int 4 0
0 登陸帳號(hào) nvarchar 30 1
0 密碼 nvarchar 15 1
0 所屬部門(mén) nvarchar 30 1
0 姓名 nvarchar 10 1
0 性別 nvarchar 2 1
0 年齡 nvarchar 10 1
0 當(dāng)前職務(wù) nvarchar 10 1
0 級(jí)別 nvarchar 10 1
0 出生日期 nvarchar 40 1
0 專業(yè) nvarchar 10 1
0 學(xué)歷 nvarchar 8 1
0 婚姻狀況 nvarchar 4 1
0 身份證號(hào) nvarchar 17 1
0 籍貫 nvarchar 50 1
0 畢業(yè)院校 nvarchar 50 1
0 興趣愛(ài)好 nvarchar 600 1
0 電話 nvarchar 11 1
0 家庭成員 nvarchar 20 1
0 工作經(jīng)歷 nvarchar 600 1
0 銷售行業(yè)經(jīng)驗(yàn)nvarchar 600 1
0 離職原因 nvarchar 600 1
0 升遷記錄 nvarchar 600 1
0 調(diào)崗記錄 nvarchar 600 1
0 特殊貢獻(xiàn) nvarchar 600 1
0 獎(jiǎng)勵(lì)記錄 nvarchar 600 1
0 處罰記錄 nvarchar 600 1
0 同事關(guān)系 nvarchar 4 1
0 企業(yè)忠誠(chéng)度 nvarchar 4 1
0 入司日期 nvarchar 30 1
0 在職狀態(tài) nvarchar 4 1
0 上級(jí)評(píng)語(yǔ) nvarchar 600 1
0 最后登陸時(shí)間 nvarchar 20 1
0 登陸次數(shù) nvarchar 50 1
0 照片 image 16 1
一般我習(xí)慣用nvarchar,因?yàn)檫@是可變長(zhǎng)的的非Unicode數(shù)據(jù),最大長(zhǎng)度為8000個(gè)字符,您可以根據(jù)您的情況來(lái)設(shè)定,我這里只是舉例說(shuō)明。
第二步:在易言語(yǔ)中建立數(shù)據(jù)庫(kù)連接,用外部數(shù)據(jù)庫(kù)控件,可先建立4個(gè)全局變量:
1、建立全局變量:
.版本 2 .全局變量 服務(wù)器, 文本型 .全局變量 服務(wù)器數(shù)據(jù)庫(kù), 文本型 .全局變量 服務(wù)器用戶名, 文本型 .全局變量 服務(wù)器密碼, 文本型
2、給變量賦值:
.版本 2 服務(wù)器 = 讀配置項(xiàng) (取運(yùn)行目錄 () + “\sys.ini”, “server info”, “server”, “您的服務(wù)器地址”) 服務(wù)器用戶名 = 讀配置項(xiàng) (取運(yùn)行目錄 () + “\sys.ini”, “server info”, “uid”, “您的服務(wù)器用戶名”) 服務(wù)器密碼 = 讀配置項(xiàng) (取運(yùn)行目錄 () + “\sys.ini”, “server info”, “pwd”, “您的服務(wù)器密碼”) 服務(wù)器數(shù)據(jù)庫(kù) = 讀配置項(xiàng) (取運(yùn)行目錄 () + “\sys.ini”, “server info”, “database”, “您的數(shù)據(jù)庫(kù)名城”)
3、然后建立外部數(shù)據(jù)庫(kù)的連接。
.版本 2 .如果真 (外部數(shù)據(jù)庫(kù)1.打開(kāi) (“DRIVER=SQL Server;SERVER=” + 服務(wù)器 + “;UID=” + 服務(wù)器用戶名 + “;PWD=” + 服務(wù)器密碼 + “;WSID=” + 服務(wù)器 + “;DATABASE=” + 服務(wù)器數(shù)據(jù)庫(kù), ) = 真) .如果真 (外部數(shù)據(jù)庫(kù)1.打開(kāi)SQL數(shù)據(jù)庫(kù) (服務(wù)器, 服務(wù)器用戶名, 服務(wù)器密碼, 服務(wù)器數(shù)據(jù)庫(kù), , ) = 假) 信息框 (“打開(kāi)數(shù)據(jù)庫(kù)失敗”, #警告圖標(biāo), ) 結(jié)束 () .如果真結(jié)束
此,您已經(jīng)完成了與SQL數(shù)據(jù)庫(kù)的連接,可以開(kāi)始使用,以下講講在數(shù)據(jù)庫(kù)中要到的增加、查詢、修改、刪除命令:
建立全局變量:
.版本 2 .全局變量 腳本, 文本型 .全局變量 記錄集句柄
1、 SQL增加語(yǔ)句的使用:
.版本 2 腳本 = “insert into 員工表 ([姓名],[性別],[年齡],[出生日期],[專業(yè)],[學(xué)歷],[婚姻狀況],[身份證號(hào)],[籍貫],[畢業(yè)院校],[興趣愛(ài)好],[電話],[家庭成員],[工作經(jīng)歷],[銷售行業(yè)經(jīng)驗(yàn)],[離職原因],[所屬部門(mén)],[當(dāng)前職務(wù)],[升遷記錄](méi),[調(diào)崗記錄](méi),[特殊貢獻(xiàn)],[獎(jiǎng)勵(lì)記錄](méi),[處罰記錄](méi),[同事關(guān)系],[企業(yè)忠誠(chéng)度],[入司日期],[在職狀態(tài)],[上級(jí)評(píng)語(yǔ)],[照片]) values ('” + 編輯框_職員信息_姓名.內(nèi)容 + “','” + 編輯框_職員信息_性別.取項(xiàng)目文本 (編輯框_職員信息_性別.現(xiàn)行選中項(xiàng)) + “','” + 編輯框_職員信息_年齡.內(nèi)容 + “','” + 編輯框_職員信息_出生日期.內(nèi)容 + “','” + 編輯框_職員信息_專業(yè).內(nèi)容 + “','” + 組合框_職員信息_學(xué)歷.取項(xiàng)目文本 (組合框_職員信息_學(xué)歷.現(xiàn)行選中項(xiàng)) + “','” + 組合框_職員信息_婚姻狀況.取項(xiàng)目文本 (組合框_職員信息_婚姻狀況.現(xiàn)行選中項(xiàng)) + “','” + 編輯框_職員信息_身份證號(hào).內(nèi)容 + “','” + 編輯框_職員信息_籍貫.內(nèi)容 + “','” + 編輯框_職員信息_畢業(yè)院校.內(nèi)容 + “','” + 編輯框_職員信息_興趣愛(ài)好.內(nèi)容 + “','” + 編輯框_職員信息_電話.內(nèi)容 + “','” + 編輯框_職員信息_家庭成員.內(nèi)容 + “','” + 編輯框_職員信息_工作經(jīng)歷.內(nèi)容 + “','” + 編輯框_職員信息_銷售行業(yè)經(jīng)驗(yàn).內(nèi)容 + “','” + 編輯框_職員信息_離職原因.內(nèi)容 + “','” + 編輯框_職員信息_所屬部門(mén).內(nèi)容 + “','” + 編輯框_職員信息_當(dāng)前職務(wù).內(nèi)容 + “','” + 編輯框_職員信息_升遷記錄.內(nèi)容 + “','” + 編輯框_職員信息_調(diào)崗記錄.內(nèi)容 + “','” + 編輯框_職員信息_特殊貢獻(xiàn).內(nèi)容 + “','” + 編輯框_職員信息_獎(jiǎng)勵(lì)記錄.內(nèi)容 + “','” + 處罰記錄編輯框.內(nèi)容 + “','” + 組合框_職員信息_同事關(guān)系.取項(xiàng)目文本 (組合框_職員信息_同事關(guān)系.現(xiàn)行選中項(xiàng)) + “','” + 組合框_職員信息_企業(yè)忠誠(chéng)度.取項(xiàng)目文本 (組合框_職員信息_企業(yè)忠誠(chéng)度.現(xiàn)行選中項(xiàng)) + “','” + 編輯框_職員信息_入司日期.內(nèi)容 + “','” + 組合框_職員信息_在職狀態(tài).取項(xiàng)目文本 (組合框_職員信息_在職狀態(tài).現(xiàn)行選中項(xiàng)) + “','” + 編輯框_職員信息_上級(jí)評(píng)語(yǔ).內(nèi)容 + “',?)” .如果 (SQL數(shù)據(jù)庫(kù).執(zhí)行 (腳本, 照片圖片框.圖片) = 真) 信息框 (“保存員工信息成功!”, 0, ) .否則 信息框 (“保存員工信息失敗!”, 0, ) .如果結(jié)束
SQL數(shù)據(jù)庫(kù).關(guān)閉記錄集 (記錄集句柄)
需要注意的是,在上面紅色部分有個(gè)?,這是保存圖片的字段,在藍(lán)色部分可以看見(jiàn),(SQL數(shù)據(jù)庫(kù).執(zhí)行 (腳本, 照片圖片框.圖片) 照片圖片框.圖片是字節(jié)集數(shù)據(jù),也就是數(shù)據(jù)庫(kù)中對(duì)應(yīng)的照片字段,image類型
易語(yǔ)言操作SQL Server數(shù)據(jù)庫(kù)之二
2、 SQL查詢語(yǔ)句的使用:
.版本 2 腳本 = “select 員工ID,姓名 from 員工表 where 姓名” + “= ” + “'” + 編輯框_職員信息_姓名.內(nèi)容 + “'” 記錄集句柄 = SQL數(shù)據(jù)庫(kù).查詢 (腳本) .如果真 (編輯框_職員信息_姓名.內(nèi)容 = SQL數(shù)據(jù)庫(kù).讀 (記錄集句柄, “姓名”)) 信息框 (“您要錄入的員工姓名:” + 編輯框_職員信息_姓名.內(nèi)容 + “已經(jīng)存在!”, 0 + #詢問(wèn)圖標(biāo), “銷售管理系統(tǒng)提醒您!”) 返回 () .如果真結(jié)束
SQL數(shù)據(jù)庫(kù).關(guān)閉記錄集 (記錄集句柄)
以上是查詢的時(shí)候,需要注意的是,如果是文本型數(shù)據(jù),需要用單引號(hào),紅色部分樣式,
如果需要多表查詢,select可以這樣寫(xiě):,
select A.*,B.* from A,B where A.ID=B.ID
介紹一個(gè)小技巧,如果您SQL數(shù)據(jù)庫(kù)操作的很熟悉,可以用視圖來(lái)幫您建立多表的查詢,如果把視圖里的SQL語(yǔ)句稍微改動(dòng)一下就可以放到易語(yǔ)言中使用了,
如我這里需要把客戶表與其他的表關(guān)聯(lián),用視圖得到的SQL語(yǔ)句是這樣的:
SELECT dbo.客戶表.客戶ID, dbo.客戶表.客戶姓名, dbo.客戶表.身份證號(hào),
dbo.客戶表.客戶等級(jí), dbo.客戶表.性別, dbo.客戶表.年齡, dbo.客戶表.電話,
dbo.客戶表.手機(jī), dbo.客戶表.電子郵件, dbo.客戶表.聯(lián)系地址,
dbo.員工資料.姓名 AS 銷售顧問(wèn), dbo.客戶表.拜訪時(shí)間, dbo.客戶進(jìn)程表.回訪次數(shù),
dbo.客戶進(jìn)程表.意向房號(hào), dbo.客戶進(jìn)程表.接待人員, dbo.客戶進(jìn)程表.主要問(wèn)題,
dbo.客戶進(jìn)程表.跟蹤次數(shù), dbo.客戶進(jìn)程表.跟蹤人員, dbo.客戶進(jìn)程表.付款金額,
dbo.客戶進(jìn)程表.預(yù)訂日期, dbo.客戶進(jìn)程表.首付日期, dbo.客戶進(jìn)程表.預(yù)訂金額,
dbo.客戶進(jìn)程表.退定時(shí)間, dbo.客戶進(jìn)程表.退定原因, dbo.客戶進(jìn)程表.收款人,
dbo.客戶進(jìn)程表.備注
FROM dbo.員工資料 INNER JOIN
dbo.客戶表 ON dbo.員工資料.員工ID = dbo.客戶表.員工ID INNER JOIN
dbo.客戶進(jìn)程表 ON dbo.客戶表.客戶ID = dbo.客戶進(jìn)程表.客戶ID
修改成我們要在易語(yǔ)言中使用的SQL語(yǔ)句就應(yīng)該寫(xiě)成這樣:
SELECT客戶表.客戶ID,客戶表.客戶姓名,客戶表.身份證號(hào),客戶表.客戶等級(jí),客戶表.性別,客戶表.年齡,客戶表.電話,客戶表.手機(jī),客戶表.電子郵件,客戶表.聯(lián)系地址,員工資料.姓名 AS 銷售顧問(wèn),客戶表.拜訪時(shí)間,客戶進(jìn)程表.回訪次數(shù),客戶進(jìn)程表.意向房號(hào),客戶進(jìn)程表.接待人員,客戶進(jìn)程表.主要問(wèn)題,客戶進(jìn)程表.跟蹤次數(shù),客戶進(jìn)程表.跟蹤人員,客戶進(jìn)程表.付款金額,客戶進(jìn)程表.預(yù)訂日期,客戶進(jìn)程表.首付日期,客戶進(jìn)程表.預(yù)訂金額,客戶進(jìn)程表.退定時(shí)間,客戶進(jìn)程表.退定原因,客戶進(jìn)程表.收款人,客戶進(jìn)程表.備注
FROM 員工表,客戶表 ,客戶進(jìn)程表
WHERE 員工資料.員工ID =客戶表.員工AND 客戶表.客戶ID =客戶進(jìn)程表.客戶ID
細(xì)心的讀者應(yīng)該可以看到,把上面的DBO,全部取消了,后面多加了一個(gè)WHERE和AND語(yǔ)句,只要大家多動(dòng)動(dòng)腦,復(fù)雜的語(yǔ)句也可以用SQL Server數(shù)據(jù)庫(kù)來(lái)為我們完成。
3、 SQL修改語(yǔ)句的使用:
.版本 2 SQL數(shù)據(jù)庫(kù).關(guān)閉記錄集 (記錄集句柄) .判斷開(kāi)始 (選定項(xiàng)目2 = 1) 腳本 = “update 員工表 set ” + 選定項(xiàng)目1 + “='” + 刪首尾空 (新員工名稱編輯框.內(nèi)容) + “', 備注” + “='” + 刪首尾空 (備注編輯框.內(nèi)容) + “' where ” + 選定項(xiàng)目1 + “='” + 項(xiàng)目文本1 + “'” .判斷 (選定項(xiàng)目2 = 2) 腳本 = “update 員工表 set ” + 選定項(xiàng)目1 + “='” + 刪首尾空 (新員工名稱編輯框.內(nèi)容) + “', 備注” + “='” + 刪首尾空 (備注編輯框.內(nèi)容) + “' where ” + 部門(mén)編號(hào)1 + “= ” + “'” + “1” + “' and ” + 選定項(xiàng)目1 + “='” + 項(xiàng)目文本1 + “'” .默認(rèn) .判斷結(jié)束 .判斷開(kāi)始 (SQL數(shù)據(jù)庫(kù).執(zhí)行 (腳本, ) = 真) 部門(mén)管理窗口.讀取并顯示當(dāng)前記錄集 () SQL數(shù)據(jù)庫(kù).關(guān)閉記錄集 (記錄集句柄) 銷毀 () .默認(rèn) 信息框 (“修改員工姓名失敗!”, #警告圖標(biāo), )
上面用了一個(gè)判讀語(yǔ)句,用來(lái)選擇要使用的SQL語(yǔ)句,第一個(gè)腳本是直接修改員工的名字,第二個(gè)腳本是修改某個(gè)部門(mén)下的員工的名字,必須是在那個(gè)部門(mén)下的人員才可以修改。相信大家應(yīng)該可以看得明白。
4、 SQL刪除語(yǔ)句的使用:
版本 2
腳本 = “delete from 員工表 where ” + 選定姓名1 + “='” + 姓名 + “' and 員工ID='”+取得的ID+”'”
.判斷開(kāi)始 (SQL數(shù)據(jù)庫(kù).執(zhí)行 (腳本, ) = 真)
信息框 (“刪除員工成功!”, #信息圖標(biāo), )
員工管理窗口.讀取并顯示當(dāng)前記錄集 ()
SQL數(shù)據(jù)庫(kù).關(guān)閉記錄集 (記錄集句柄)
銷毀 ()
.默認(rèn)
信息框 (“刪除員工失敗!”, #警告圖標(biāo), )
上面出現(xiàn)的 選定姓名1、 姓名、 取得的ID、三個(gè),是我用的臨時(shí)的變量,是為了從其他地方動(dòng)態(tài)的取得要?jiǎng)h除的內(nèi)容,簡(jiǎn)化以后得到的SQL語(yǔ)句就是這樣。
delete from 員工表 where 員工姓名 = ‘姓名' and 員工ID=1
以上是我目前開(kāi)發(fā)的我們公司的一個(gè)銷售管理系統(tǒng)的程序,把大家想知道的內(nèi)容提出來(lái)并簡(jiǎn)化給大家做個(gè)參考,源代碼我就不送上了,相信大家也應(yīng)該可以看的明白,由于工作一直比較忙,沒(méi)有截圖,也沒(méi)有細(xì)心整理,不過(guò)語(yǔ)句都沒(méi)有錯(cuò)誤的,大家放心使用,等有時(shí)間給大家出一個(gè)專門(mén)操作SQL Server數(shù)據(jù)庫(kù)網(wǎng)絡(luò)版軟件的教程,這里只是簡(jiǎn)單的操作而已,給初學(xué)者一個(gè)借鑒。
發(fā)布完才發(fā)現(xiàn)其中有幾個(gè)錯(cuò)誤的地方,
1、到此,您已經(jīng)完成了與SQL數(shù)據(jù)庫(kù)的連接,可以開(kāi)始使用,以下講講在數(shù)據(jù)庫(kù)中要到的增加、查詢、修改、刪除命令:
后面應(yīng)該是:以下講講數(shù)據(jù)庫(kù)中要用到的增加……
2、如我這里需要把客戶表與其他的表關(guān)聯(lián),用視圖得到的SQL語(yǔ)句是在于的:
后面應(yīng)該是:用視圖得到的SQL語(yǔ)句是這樣的
3、FROM員工表,客戶表 ,客戶進(jìn)程表
應(yīng)該是: FROM 員工表,客戶表 ,客戶進(jìn)程表
FRMO與員工表之間加一個(gè)空格
- SQL Server 2008數(shù)據(jù)庫(kù)分布式查詢知識(shí)
- SQL Server游標(biāo)的介紹與使用
- SQL Server三種鎖定模式的知識(shí)講解
- SQL Server視圖的講解
- Sql Server的一些知識(shí)點(diǎn)定義總結(jié)
- C#連接SQL Server的實(shí)現(xiàn)方法
- laravel5使用freetds連接sql server的方法
- SQL Server中的SELECT會(huì)阻塞SELECT嗎
- sqlserver2008首次登錄失敗問(wèn)題及解決方法
- SQL Server四個(gè)系統(tǒng)表的知識(shí)講解
相關(guān)文章
易語(yǔ)言的偽原創(chuàng)工具高效同義詞替換實(shí)例
在本篇文章中小編給大家整理了關(guān)于易語(yǔ)言的偽原創(chuàng)工具高效同義詞替換實(shí)例內(nèi)容,需要的可以測(cè)試下。2018-11-11易語(yǔ)言將數(shù)值轉(zhuǎn)換為人民幣金額的簡(jiǎn)體或繁體大寫(xiě)形式
今天小編就為大家分享一篇關(guān)于易語(yǔ)言將數(shù)值轉(zhuǎn)換為人民幣金額的簡(jiǎn)體或繁體大寫(xiě)形式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-11-11易語(yǔ)言打開(kāi)與關(guān)閉輸入法的代碼示例
今天小編就為大家分享一篇關(guān)于易語(yǔ)言打開(kāi)與關(guān)閉輸入法的代碼示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12