亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在VB中更改SQLServer數據庫結構

2019-11-18 17:35:34
字體:
來源:轉載
供稿:網友
筆者在開發"涼山州林業局"天然林資源保護綜合管理系統中,需要為程序建立SqlServer數據庫的運行環境。為了方便用戶,筆者開發了這個數據庫配置工具。完成在SQLServer數據庫中建立設備,建立數據庫,建立表格,分配權限的功能,"涼山州林業局"系統中的所有數據庫配置操作都可以通過這個小工具完成。方便了數據庫應用程序所需SqlServer環境的建立,根本不用啟動SQLEnterWord&";database="&DatabaseName&""
'連接數據串
conn.open'連接數據庫

----注:ServerName為服務器名;UserName為用戶名;Password為用戶口令;DatabaseName要登錄的數據庫名,可以為空。
----核心代碼如下:

一、建立數據庫
----原理:建立數據庫先要初始化一個數據庫設備,然后在此設備上建立數據庫。所有的設備名在系統表"sysdevices"里有記錄,所有的數據庫名在系統表"sysdatabases"里有記錄。在建立之前,最好先查詢這兩個系統表,看名稱是否已經存在。在建立設備之前,還需要的一個物理名和空閑的設備標識號。
初始化設備語法:
DISKINITNAME="device_name",PHYNAME=
"physical_name",VDEVNO=device_number,
SIZE=numberofblock

----說明:這里,NAME是數據庫設備名(一個有效的標識符),PHYNAME(數據庫設備的物理名)是原始的磁盤分區UNIX或外設(vms)名,或者是操作系統的文件名。VDEVNO時數據庫的設備標識號,合法值為1-255,SIZE的單位是2KB的塊,例如1MB(1024KB)時SIZE值為512。
----建立數據庫語法:CREATEDATABASEdatabase_name[ONdatabase_device]

----說明:database_name是要建的數據庫名,database_device是設備名

----要新建立一個數據庫,就需要設備名,數據庫名,物理名和設備號。具體步驟如下:

----我們假設用戶要新建立設備dbName,在設備dbName上建立數據庫dbName。

----1)得到設備名。dbName是用戶給出的設備名;先查詢系統表sysdevices,看用戶給出的設備名dbName是否已經存在,如果此設備名存在,就需要更換一個設備名,因為設備名是唯一的。

sql="select*fromsysdevices
wherename='"&dbName&"'"
Setrs=conn.Execute(sql)
IfNotrs.EOFThen
MsgBox"設備名""&dbName&""
已存在!",16,"請重新輸入名稱"
ExitSub
EndIf

----2)得到數據庫名。dbName是用戶給出的數據庫名;查詢系統表sysdatabases,看用戶給出的數據庫名dbName是否已經存在,如果此數據庫存在,就需要更換一個數據庫名,像設備名一樣,數據庫名也是唯一的
sql="select*fromsysdatabases
wherename='"&dbName&"'"
Setrs=conn.Execute(sql)'下面代碼略

----3)得到PHYNAME物理名。查詢服務器上數據庫文件的物理位置serverpath,典型的,我們可以從系統表sysdevices中查詢master(這是SQLServer的主庫名)數據庫的位置,例如G:/MSSQL/DATA/MASTER.DAT,則我們的數據庫可以建在"G:/MSSQL/DATA/"目錄下。
sql="selectname,phynamefromsysdevices"
'low/16777216為設備號
Setrs=conn.Execute(sql)
然后遍歷記錄對象rs,當name="master"時,取出phyname,
從而可以得到物理位置serverpath=G:/MSSQL/DATA/。

----4)得到一個空閑的設備號vdevno。設備號合法值1~255,遍歷這些號,查找出未被使用的空閑設備號,下面程序得到已有的設備號
sql="selectdistinctlow/16777216
fromsysdevicesorderbylow/16777216"
'low/16777216為設備號

----5)建立數據庫。所需的信息都準備完畢,可以建立數據庫了(注:下面的""&Chr(34)&""就是一個"""雙引號,這樣處理后,才能滿足語法要求;數據庫為20M,則dbSize=512*20)
sql="DISKINITNAME="&Chr(34)&""
&dbName&""&Chr(34)&",PHYSNAME="
&Chr(34)&""&serverpath&""&dbName
&".dat"&Chr(34)&",VDEVNO="&vdevno
&",SIZE="&dbSize&""
Setrs=conn.Execute(sql)'初始化設備
sql="CREATEDATABASE"&dbName&"
on"&dbName&"="&dbSize&""
'注:
第一個dbName是數據庫名,
第二個dbName是設備名
Setrs=conn.Execute(sql)'
在設備dbName上建立數據庫dbName
MsgBox"數據庫""&dbName&""建在服務器上
""&serverpath&""&dbName&".dat",
建立成功!",64,"成功"

二、建立表格
----建立表格比較簡單,這里用到了自動計數字段和缺省值字段類型,語法如下:
CREATETABLEtable_name
(field_namedata_type[NOTNULL|NULL],…)

----說明:table_name為新建的表名,field_name為字段名,data_type為數據類型。
(注意下面的fileidintIDENTITY字段自動計數,
datetimeNOTNULLDEFAULT(GETDATE())字段每當入
庫時有個缺省值,由數據庫生成當時的時間)。
sql="CREATETABLE"&TableName&"
(fileidintIDENTITY,filetimedatetimeNOT
NULLDEFAULT(GETDATE()),fileimageimageNULL)"
conn.Executesql'建立表格

三、建立用戶組用戶
----建立用戶組和用戶不能直接通過SQL語句完成,需要執行SQLServer的存儲過程sp_addlogin,sp_addgroup,sp_adduser。我們假設新建登錄賬號是username1,用戶名是username1,組名是group1,則步驟如下:
----1)建立用戶的登錄賬號

語法:sp_addloginlogin_name,password[,defdb]
其中,login_name是用戶的登錄名,password是用
戶的口令,defdb上登錄的缺省數據庫名稱。建立數
據庫DatabaseName的登錄賬號:
sql="EXECUTEsp_addlogin"&username1&","
&password1&","&DatabaseName&""
Setrs=conn.Execute(sql)

----2)增加用戶組
語法:sp_addgroupgroup_name
其中,group_name是新建組名
sql="EXECUTEsp_addgroup"&group1&""
Setrs=conn.Execute(sql)

----3)增加用戶
語法:sp_adduserlogin_name
[,name_in_db[,grpname]]
其中,login_name用戶名,name_in_db是用戶在當
前數據庫中的名字(這里是第一步建立的登錄賬號
username1),grpname是要將用戶加入的那個組的組名。

在數據庫DatabaseName增加用戶username1:
sql="EXECUTEsp_adduser"&username1&","&
username1&","&group1&""
'注:第一個username1是用戶名,第二個username1是
數據庫DatabaseName的登錄賬號
Setrs=conn.Execute(sql)

四、分配權限
----語法:grantpermission_listonobject_nametowho
----其中,permission_list是所要分配的權限清單,object_name是在這個對象上的權限,who是接受授權的用戶。

----涼山州林業局"系統需要將特殊用戶建立的表授權給其他用戶,所以先從系統表sysobjects得到所有的用戶建立表格名(type='U')

sql="selectnamefromsysobjectswheretype='U'"
Setrs=conn.Execute(sql)

----然后從中選取所需要的表格來分配權限給其他用戶。例如,這里選擇將tablename3的讀取權限分配給組group1。
sql="grantselecton"&tablename3&
"to"&group1&""
conn.Executesql

----由于這個小工具的使用,使SQLServer數據庫配置變得簡單、方便了。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品第1页| 精品女同一区二区三区在线播放| 亚洲a在线观看| 日韩av电影中文字幕| 日韩国产精品亚洲а∨天堂免| 日韩精品中文字幕在线观看| 午夜精品久久久久久久男人的天堂| 久久久精品久久久| 91av在线视频观看| 欧美激情亚洲综合一区| 久久久精品欧美| 亚洲国内高清视频| 亚洲精品一区在线观看香蕉| 久久久这里只有精品视频| 高清一区二区三区四区五区| 国产精品美女在线| 久久99国产精品自在自在app| 久久中文精品视频| 久精品免费视频| 91po在线观看91精品国产性色| 精品爽片免费看久久| 97在线观看视频国产| 国产精品电影久久久久电影网| 成年无码av片在线| 国产一区二区三区在线观看网站| 亚洲free性xxxx护士hd| 欧美性感美女h网站在线观看免费| 亚洲国产精品小视频| 26uuu另类亚洲欧美日本老年| 92看片淫黄大片看国产片| 欧美黑人极品猛少妇色xxxxx| 欧美丝袜第一区| 日韩成人在线视频网站| 一区二区三区视频在线| 国产丝袜一区视频在线观看| 国产福利视频一区| 91社区国产高清| 精品国内自产拍在线观看| 精品国产拍在线观看| 91在线国产电影| 欧美日韩国产影院| 午夜精品99久久免费| 欧美性猛交xxxx乱大交| 国产一区二区日韩精品欧美精品| 国产亚洲免费的视频看| 成人中文字幕在线观看| 国产成人福利网站| 欧美日韩人人澡狠狠躁视频| 欧美精品在线播放| 亚洲小视频在线观看| 欧美成人精品在线播放| 在线免费观看羞羞视频一区二区| 久久精品视频导航| 91精品国产高清久久久久久91| 最近中文字幕日韩精品| 亚洲欧美精品一区二区| 国产精品香蕉在线观看| 国内精品一区二区三区| 日韩hd视频在线观看| 综合136福利视频在线| 精品伊人久久97| 亚洲日韩中文字幕| 亚洲国产成人在线视频| 欧美日本高清一区| 九九热99久久久国产盗摄| 日韩男女性生活视频| 国产亚洲成av人片在线观看桃| 深夜精品寂寞黄网站在线观看| 欧美黑人巨大xxx极品| 亚洲精品美女在线观看| 国产精品爽爽爽爽爽爽在线观看| 欧美大片免费观看在线观看网站推荐| 精品久久久久久| 亚洲女人被黑人巨大进入al| 91产国在线观看动作片喷水| 亚洲精品国偷自产在线99热| 日韩中文字幕免费| 国外视频精品毛片| 国内精品久久久久久久久| 国产一区二区三区四区福利| 5278欧美一区二区三区| 日韩美女在线看| 欧美又大粗又爽又黄大片视频| 91在线观看免费网站| 亚洲理论在线a中文字幕| 色综合久久中文字幕综合网小说| 亚洲女人被黑人巨大进入al| 中文字幕日韩在线观看| 欧美日韩国产精品一区| 久久亚洲欧美日韩精品专区| 午夜精品久久久久久久久久久久| 亚洲第一区中文99精品| 粉嫩av一区二区三区免费野| 成人黄色网免费| 97香蕉超级碰碰久久免费软件| 欧美裸身视频免费观看| 伊人久久大香线蕉av一区二区| 亚洲精品久久久久久下一站| 色综合男人天堂| 超碰精品一区二区三区乱码| 亚洲r级在线观看| 精品国产一区二区三区在线观看| 成人字幕网zmw| 国产激情视频一区| 亚洲精品久久7777777| 成人a在线观看| 色诱女教师一区二区三区| 精品国产一区二区三区久久狼黑人| 欧美亚洲成人xxx| 精品久久久一区二区| 日韩电影网在线| 国产综合久久久久| 亚洲黄页网在线观看| 亚洲免费精彩视频| 亚洲天堂成人在线| 成人黄色片网站| 欧美日韩国产黄| 国产精品日日摸夜夜添夜夜av| 成人妇女免费播放久久久| 日本精品免费一区二区三区| 欧美高清性猛交| 国产成人精品免高潮费视频| 中文字幕精品网| 操日韩av在线电影| 亚洲午夜国产成人av电影男同| 亚洲人成网站色ww在线| 国产亚洲欧美一区| 久久视频在线看| 日韩美女主播视频| 91视频免费网站| 国产日韩精品综合网站| 97在线视频免费看| 国产精品精品视频一区二区三区| 成人免费在线视频网址| 欧美亚洲成人免费| 日韩av手机在线观看| 亚洲国产成人精品久久| 欧美激情在线观看| 国产精品久久久久久久久久免费| 国产精品女视频| 欧美黄色小视频| 国产欧美日韩免费看aⅴ视频| 日韩美女中文字幕| 97在线视频国产| 91精品在线一区| 三级精品视频久久久久| 久久精品成人欧美大片| 91精品国产精品| 色婷婷亚洲mv天堂mv在影片| 欧美华人在线视频| 亚洲人成在线观看| 亚洲自拍在线观看| www.xxxx精品| 日韩中文在线不卡| 萌白酱国产一区二区| 在线视频欧美日韩| 欧美成人激情视频| 超在线视频97| 亚洲乱码国产乱码精品精| 韩国欧美亚洲国产| 国产成人久久久精品一区| 国产精品亚洲第一区| 91美女福利视频高清| 国产精品专区第二|