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與資料庫學習總結部落格
專案說明 本階段初步接觸程式語言,是 行動下移 思想上移 的突出體現過程,敲 過程中收穫的不僅僅是乙個個實現的程式,更重要的是其凝練出的思想精華。本階段會讓學員初步接觸程式語言,是 行動下移 思想上移 的突出體現過程,敲 過程中收穫的不僅僅是乙個個實現的程式,更重要的是其凝練出的思想精華。通過資料庫...