VB與資料庫(4)

2021-06-26 06:00:26 字數 4346 閱讀 7216

vb中資料庫的建立和前面一樣,只是沒有通過屬性視窗來連線記錄源

我們設combo1 的名稱為cmbfield,combo2為cmbname,text1為txtno,text2為txtname,text3為txtjd,text4為txtwd,新增的按鈕為cmdadd,刪除為cmddel,修改為cmdedit,清空為cmdclear

private sub cmbfield_click()

cmbname.clear                                       '清空cmbname

adodc1.recordsource = "select * from vor臺地理位置"

adodc1.refresh

do while not adodc1.recordset.eof

cmbname.additem adodc1.recordset.fields(cmbfield.text)

adodc1.recordset.movenext

loop

cmbname.text = cmbname.list(0)

end sub

private sub cmbname_click()

dim condition

condition = trim(cmbfield.text)                    'trim 取出輸入字串中的空格

if adodc1.recordset.fields(condition).type = 202 then  '被選擇的字段型別是文字型

adodc1.recordsource = "select * from vor臺地理位置 where " & condition & "= '" & cmbname.text & "'"

else                                              '被選擇的字段型別不是文字型

adodc1.recordsource = "select * from vor臺地理位置 where " & condition & " = " & cmbname.text

end if

adodc1.refresh

txtno.text = adodc1.recordset.fields("vor臺編號")           '將字段值在文字框中顯示

txtname.text = adodc1.recordset.fields("所處位置")

txtjd.text = adodc1.recordset.fields("經度")

txtwd.text = adodc1.recordset.fields("緯度")

end sub

private sub cmdadd_click()

on error goto errorhandler:               '如果出現主索引重複的錯誤,則跳轉到錯誤處理的部分

if txtno.text <> "" then

adodc1.recordset.addnew                '將文字框中使用者輸入的各個欄位的取值填入相應欄位中

adodc1.recordset.fields("vor臺編號") = txtno.text

adodc1.recordset.fields("所處位置") = txtname.text

adodc1.recordset.fields("經度") = val(txtjd.text)

adodc1.recordset.fields("緯度") = val(txtwd.text)

adodc1.recordset.update

cmbname.clear

adodc1.recordsource = "select * from vor臺地理位置"

adodc1.refresh

do while not adodc1.recordset.eof

cmbname.additem adodc1.recordset.fields(1)

adodc1.recordset.movenext

loop

cmbfield_click

cmdclear_click

else

msgbox "vor臺編號是主索引字段,不能為空", , "錯誤提示"

end if

exit sub

errorhandler:  msgbox "您新增的vor臺編號已經存在", , "錯誤提示"

end sub

private sub cmdclear_click()

txtno.text = ""

txtname.text = ""

txtjd = ""

txtwd = ""

end sub

private sub cmddel_click()

if txtname.text <> "" then                     '根據貨物名稱刪除記錄

adodc1.recordsource = "select * from vor臺地理位置 where vor臺編號 = '" & cmbname.text & "'"

adodc1.refresh

adodc1.recordset.delete

adodc1.recordset.movenext

cmbname.clear

cmbfield_click

cmdclear_click

end if

end sub

private sub cmdedit_click()

on error goto errorhandler:               '如果出現主索引重複的錯誤,則跳轉到錯誤處理的部分

if txtno.text <> "" then

'adodc1.recordsource = "select * from vor臺地理位置 where vor臺編號 = '" & txtno.text & "'"

'adodc1.recordsource = "select * from vor臺地理位置 where vor臺編號 = '" & txtno.text & "'"

' adodc1.refresh

adodc1.recordset.fields("vor臺編號") = txtno.text

adodc1.recordset.fields("所處位置") = txtname.text

adodc1.recordset.fields("經度") = val(txtjd.text)

adodc1.recordset.fields("緯度") = val(txtwd.text)

cmdadd_click

else

msgbox "vor臺編號是主索引自動,不能為空", , "錯誤提示"

end if

exit sub

errorhandler: msgbox "vor臺編號是主索引自動,不能重複", , "錯誤提示"

end sub

private sub form_load()

dim i as integer

adodc1.recordsource = "select * from vor臺地理位置" '連線資料庫表

adodc1.refresh

cmbfield.clear                                     '清空下拉列表

for i = 0 to adodc1.recordset.fields.count - 1      '將每個欄位的名字作為乙個專案,新增到cmbfields中

cmbfield.additem adodc1.recordset.fields(i).name

next i

cmbfield.text = cmbfield.list(0)                  '預設顯示第一項

cmbname.text = adodc1.recordset.fields(0)

txtno.text = adodc1.recordset.fields(0)

txtname.text = adodc1.recordset.fields(1)

txtjd.text = adodc1.recordset.fields(2)

txtwd.text = adodc1.recordset.fields(3)

'cmbname.clear

'txtno.text = ""

'txtname.text = ""

'txtjd.text = ""

'txtwd.text = ""

end sub

VB與資料庫 資料庫連線

話說學生管理系統和機房收費系統都完成了,再回來說資料庫的連線真的好嗎?貌似不太好,但是誰讓自己欠賬了呢 除了還,還能有更好的解決方法嗎?前幾天說 紅皮書 中的七個物件。當時的反應哪七個,腦子完全一片空白,不知所云。所以找出來,再看看吧。vb6.0與sqlserver有源資料庫連線,vb6.0中資料訪...

VB與資料庫學習專案總結

歷時8月,進入提高班的第二個大專案終於完成!說來慚愧,按照培養計畫的時間來算,整個大專案的時間不過49天,而我用了8個月!之前一直感覺是自己學的紮實,所以學得慢,現在發現,不是自己紮實 因為很多之前學的東西到用的時候還是沒想起來 而是自己太拖延了,這一點誰能幫我解決掉。縱觀整個專案 紅皮書例項4.2...

Vb與資料庫學習總結部落格

專案說明 本階段初步接觸程式語言,是 行動下移 思想上移 的突出體現過程,敲 過程中收穫的不僅僅是乙個個實現的程式,更重要的是其凝練出的思想精華。本階段會讓學員初步接觸程式語言,是 行動下移 思想上移 的突出體現過程,敲 過程中收穫的不僅僅是乙個個實現的程式,更重要的是其凝練出的思想精華。通過資料庫...