當前位置:首頁 » 參考文獻 » vb資料庫修改

vb資料庫修改

發布時間: 2021-03-20 17:20:33

A. vb怎麼修改資料庫資料

恩,form3 里的 Call loumou(X_sql) 確實錯了。沒測試,望能原諒;-)
adodb怎麼說呢!! 它是vb的一個數據對象,而adodc是vb的一個控制項。他們倆其實是一樣的。只是adodb使用起來比較靈活。adodc使用起來比較方便。各有各的優點。
$在這里表示 字元型 變數 ,它相當於 as string ,另外還有 % 表示 as integer ,& 表示 as long ,等等。。。這些都是常用的。
Public Sub loumou(ByVal sql$),這是一個自定義過程,用來給你的那些全局變數賦值的。loumou是我的網路名O(∩_∩)O~,你可以換成你的o(╯□╰)o(要記得都換哦,form1,2,3裡面有的都換才行)。當然在是不提倡的,最好還是給它起個有意義的名字。 ()裡面是參數,ByVal sql$ 相當於 ByVal sql as string,當你需要改變adodc1的recordset時,傳一個sql 語句給它就行了。
call 在這里是調用的意思,沒有什麼特別的用法。它其實可以省略。
Call loumou(X_sql) 可以寫成 loumou x_sql
還不明白的再聯系。⊙﹏⊙b

===========================================================
研究了半天才發現你 form2 哪裡用的是form1的變數,那是舊的數據,當然的不同步了
要改的話,我是這樣改的,與你的代碼基本一樣,你應該看得懂吧。
我只是改了而已,沒有測試,因為我沒有你的資料庫。你試試看吧。
'=================form1的代碼這樣寫========================
Public p_sno$, p_sname$, p_syear$, p_classname$, p_address$, p_postcode$, p_mobile$, p_email$, p_qq$
Dim sno$, pass$

Private Sub Command1_Click()
sno = user.Text
pass = Password.Text
Dim sql As String
sql = "select * from student where sno='" & sno & "' and password='" & pass & "'"
Call loumou(sql)
If Adodc1.Recordset.RecordCount > 0 Then
MsgBox "歡迎登陸," & Adodc1.Recordset(1).Value
Form2.Show
Unload Form1
Else
MsgBox "賬號或密碼錯誤", , "系統提示"
user.Text = ""
Password.Text = ""
End If
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Call Command1_Click
End Sub

Public Sub loumou(ByVal sql$)
Adodc1.RecordSource = sql
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
p_sno = Adodc1.Recordset(0) & ""
p_sname = Adodc1.Recordset(1) & ""
p_syear = Adodc1.Recordset(2) & ""
p_classname = Adodc1.Recordset(3) & ""
p_address = Adodc1.Recordset(4) & ""
p_postcode = Adodc1.Recordset(5) & ""
p_mobile = Adodc1.Recordset(6) & ""
p_email = Adodc1.Recordset(7) & ""
p_qq = Adodc1.Recordset(8) & ""
End If
End Sub
'=========== form2 的代碼不變===========================

'=========== form3 的代碼這樣寫===========================
Private Sub Command1_Click()
Dim X_sql As String
X_sql = "update student set address='" & address & "',postcode='" & postcode & "',mobile='" & mobile & "',email='" & email & "',qq='" & qq & "' where sno='" & Form1.p_sno & "'"
Dim con As New ADODB.Connection
con.ConnectionString = Adodc1.ConnectionString
con.Open
con.Execute X_sql '用adodb 執行 update 語句,因為我也搞不定adodc
con.Close
Set con = Nothing
X_sql = "select * from student where sno='" & Form1.p_sno & "'"
Call form1.loumou(X_sql)
Unload Form1
Unload Form3
Form2.Show
End Sub

B. vb6.0 修改資料庫數據

DimconnAsObject
Setconn=CreateObject("adodb.connection")
conn.Open"provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"成績.mdb"
conn.Execute"update[高二學生]set[數學成績]=90where[姓名]='李明'"
conn.Close
Setconn=Nothing
MsgBox"數據已修改!"

C. VB怎麼樣修改資料庫中記錄的值

樓上的道友的方法中:
sSQL="update
table
set
field=20"
要改為:
sSQL="update
table
set
field1=20,...,field2=20
where
id=3"
但是如果你的資料庫中沒有記錄版3就會出錯。
還有一種方法權,用recordset來處理:
dim
cn
as
new
adodb.connection
dim
rs
as
new
adodb.recordset
rs.open
"select
*
from
資料庫
where
id=3",adOpenDynamic,
adLockOptimistic,
-1
if
not
rs.eof
then
rs("你要修改的欄位1")="具體值1"
...
rs("你要修改的欄位n")="具體值n"
rs.update
end
if
rs.close
我在設計時一般都是這樣,雖然麻煩些但基本不會出錯,還有就是你在設計資料庫時最好要加上一個ID,這樣就可以保證數據的唯一性。

D. VB中怎麼對資料庫進行添加刪除修改的操作

Private Sub Command1_Click()
For i = 0 To 5
Text1(i).Text = ""
Next i
Adodc1.RecordSource = "select * from " & s1 & " order by 編號"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveLast
Text1(0).Text = "G" + Format((Val(Right(Trim(Adodc1.Recordset.Fields("編號")), 4)) + 1), "0000")
Else
Text1(0).Text = "G0001"
End If
End Sub
Private Sub Command2_Click()
If Adodc1.Recordset.EOF = False Then
c = MsgBox("您確認要刪除該記錄嗎?", vbOKCancel, "刪除提示信息")
If c = vbOK Then
Adodc1.Recordset.Delete
Adodc1.RecordSource = "select * from 人員表"
Adodc1.Refresh
End If
Else
MsgBox "當前資料庫中沒有可刪除的數據記錄", vbOKOnly, "提示信息"
End If
End Sub
Private Sub Command3_Click()
If Text1(0).Text = "" Or Text1(1).Text = "" Then
MsgBox "請選擇需要改動的記錄信息!", vbOKOnly, "錯誤提示"
Else
c = MsgBox("確定要修改該記錄嗎?", vbOKCancel, "提示信息")
If c = vbOK Then '如果確認修改的話進行修改操作
If Text1(1).Text = "" Then
MsgBox "姓名不能為空值!", 48, "修改信息提示"
Else
'連接所要修改的資料庫
con.Open "Provider=SQLOLEDB.1;Password=2752;Persist Security Info=True;User ID=sa;Initial Catalog=sample;Data Source=JAMLEEPC"
'開始修改資料庫
con.Execute ("UPDATE " & s1 & " SET 姓名='" & Text1(1).Text & "',年齡=" & Text1(2).Text & ",學歷='" & Text1(3).Text & "',年級=" & Text1(4).Text & ", 入學時間='" & Text1(5).Text & "' where 編號='" & Trim(Text1(0)) & "'")
MsgBox "信息修改成功", 64, "修改信息提示"
con.Close
Adodc1.RecordSource = "select * from 人員表"
Adodc1.Refresh
End If
End If
End If
End Sub
Private Sub Command4_Click()
Adodc1.RecordSource = "select * from 人員表 where 編號='" + Text1(0).Text + "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
MsgBox "該信息已存在,信息保存不成功", 64, "保存信息提示"
Else
cc = MsgBox("您確定要保存該信息嗎?", 33, "信息保存提示")
If cc = vbOK Then
If Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Or Text1(4).Text = "" Or Text1(5).Text = "" Then
MsgBox "請確認,人員的姓名、年齡、學歷、年級和入學時間不能為空", 48, "保存信息提示"
Else
con.Open "Provider=SQLOLEDB.1;Password=2752;Persist Security Info=True;User ID=sa;Initial Catalog=sample;Data Source=JAMLEEPC"
con.Execute ("insert into 人員表 values('" & Text1(0).Text & "','" & Text1(1).Text & "','" & Text1(2).Text & "','" & Text1(3).Text & "','" & Text1(4).Text & "', '" & Text1(5).Text & "')")
MsgBox "信息修改成功", 64, "修改信息提示"
con.Close
Adodc1.RecordSource = "select * from 人員表"
Adodc1.Refresh
End If
Else
End If
End If
Set DataGrid1.DataSource = Adodc1
End Sub
給你段代碼參考下,這個就是添加,刪除,修改的代碼。不過我用的是SQL2000你要吧代碼稍微修改一下的,呵呵,祝你成功!

E. VB修改資料庫

'不知道dtpicker是不是這個屬性,也許是dtpicker.Enabled =False,反正就是判斷為灰色時。
If DTP1.Value = Enabled Then
res!來電時版間權 = DTP1.Value
Else
res!來電時間 = -109205
End If
If DTP2.Value = Enabled Then
res!去電時間 = DTP2.Value
Else
res!f去電時間 = -109205
End If

』把代碼加在這個地方。

F. VB資料庫添加和修改代碼

你參考一下,應該對你有用

DimcnAsNewADODB.Connection

Dimrs1AsNewADODB.Recordset,rs2AsNewADODB.Recordset

DimrsAsNewADODB.Recordset

PrivateSubCmdadd_Click(IndexAsInteger)

Text1(0).Enabled=True

Text1(0).SetFocus

Data1.Recordset.AddNew'資料庫新增命令

cmdfirst(0).Enabled=False'設定各個控制項的可用屬性

cmdpre(1).Enabled=False

cmdnext(2).Enabled=False

cmdlast(3).Enabled=False

Cmdadd(0).Enabled=False

cmddelete.Enabled=False

cmdsave(5).Enabled=True

cmdmend(4).Enabled=False

Text1(6).Text=Data

EndSub

PrivateSubcmddelete_Click()

DimiAsInteger

i=MsgBox("真的要刪除當前記錄嗎?",vbYesNo,"警告")'資料庫的刪除警告和相應命令

Ifi=6Then

Data1.Recordset.Delete

Data1.Refresh

CallForm_Load

EndIf

EndSub

PrivateSubcmdexit_Click(IndexAsInteger)

FormMain.Show

UnloadMe

EndSub

PrivateSubcmdfirst_Click(IndexAsInteger)

IfNotData1.Recordset.BOFThen

Data1.Recordset.MoveFirst'資料庫移動到第一條

EndIf

EndSub

PrivateSubcmdlast_Click(IndexAsInteger)

IfNotData1.Recordset.BOFThen

Data1.Recordset.MoveLast'資料庫移動到最後一條

EndIf

EndSub

PrivateSubcmdmend_Click(IndexAsInteger)

Text1(0).Enabled=True'設定各控制項屬性

cmdsave(5).Enabled=True

cmdmend(4).Enabled=False

EndSub

PrivateSubcmdnext_Click(IndexAsInteger)

IfData1.Recordset.RecordCount<>0Then

IfData1.Recordset.EOF=FalseThenData1.Recordset.MoveNext'資料庫移動到下一條

IfData1.Recordset.EOF=TrueThen'判斷資料庫是否為最後一條

Data1.Recordset.MoveLast

MsgBox("已經是最後一條")

EndIf

EndIf

EndSub

PrivateSubcmdpre_Click(IndexAsInteger)

IfData1.Recordset.RecordCount<>0Then

IfData1.Recordset.BOF=FalseThen

Data1.Recordset.MovePrevious'資料庫移動到上一條

EndIf

IfData1.Recordset.BOF=TrueThen'判斷資料庫是否為第一條

Data1.Recordset.MoveFirst

MsgBox("已經是第一條")

EndIf

EndIf

EndSub

PrivateSubcmdsave_Click(IndexAsInteger)

IfText1(0).Text=""OrText1(1).Text=""OrText1(2).Text=""OrText1(3).Text=""OrText1(4).Text=""OrText1(5).Text=""OrText1(6).Text=""Then

MsgBox"請完善數據!",,"提示"'檢測文本框中是否為空

ExitSub

EndIf

'Data1.Recordset.MoveLast

Data1.UpdateRecord'保存更新資料庫

MsgBox"數據保存成功!",,"提示"

cmdfirst(0).Enabled=True'設定個控制項屬性

cmdpre(1).Enabled=True

cmdnext(2).Enabled=True

cmdlast(3).Enabled=True

cmddelete.Enabled=True

cmdmend(4).Enabled=True

CallForm_Load

EndSub

PrivateSubComsx_Click()

CallForm_Load'點擊刷新,重新載入界面

EndSub

PrivateSubForm_Load()

DimiAsInteger

cn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="_

&App.Path&"Airplane.mdb;PersistSecurityInfo=False"'打開資料庫

rs1.Open"Airplane",cn,adOpenKeyset,adLockOptimistic'打開資料庫中的表文件

Ifrs1.BOFThen

MsgBox"已經沒有數據"'判斷有沒有數據

Else

SetMSHFlexGrid1.DataSource=rs1'數據在MSHFlexGrid1控制項中顯示

MSHFlexGrid1.ColWidth(0)=100

MSHFlexGrid1.ColWidth(6)=2200

Fori=1Tors1.RecordCount

MSHFlexGrid1.RowHeight(i)=1500

Nexti

EndIf

rs1.Close

'SetDataGrid1.DataSource=Adodc1

Cmdadd(0).Enabled=True

cmdsave(5).Enabled=False

Text1(0).Enabled=False

cmdfirst(0).Enabled=True'設定個控制項屬性

cmdpre(1).Enabled=True

cmdnext(2).Enabled=True

cmdlast(3).Enabled=True

cmddelete.Enabled=True

cmdmend(4).Enabled=True

Data1.Visible=False

cn.Close

EndSub

G. vb資料庫中,如何對某一欄位內的數據進行修改

使用Data控制項
內在的 Data 控制項通過使用 Microsoft 的 Jet 資料庫引擎來實現數據訪問 –與 Microsoft Access 所用的資料庫引擎相同。這一技術使用戶可以無縫地訪問很多標準的資料庫格式,而且使用戶無需編寫任何代碼就可以創建數據識別應用程序。這種內在的 Data 控制項最適合較小的(桌面)資料庫,諸如 Access 和 ISAM 資料庫。
可以使用這種內在的 Data 控制項創建應用程序,來顯示、編輯和更新來自多種已有的資料庫的信息。這些資料庫包括 Microsoft Access、Btrieve、dBASE、Microsoft FoxPro?⒁約_ Paradox。也可以使用這種控制項如同訪問真正的資料庫一樣來訪問 Microsoft Excel、Lotus 1-2-3、以及標準的 ASCII 文本文件。此外,Data 控制項也可以訪問和操作遠程的開放式資料庫連接 (ODBC) 資料庫,諸如 Microsoft SQL Server 以及 Oracle。
注意 Data 控制項和 Remote Data 控制項兩者都包含在 Visual Basic 中,以提供向後兼容。不過,由於 ActiveX 數據對象 (ADO) 的適應性更廣,因此建議使用 ADO Data 控制項來創建新的資料庫應用程序。詳細信息請參閱「使用 ADO Data 控制項」。
Data 控制項、Remote Data 控制項、以及 ADO Data 控制項在概念上很相似: 三者都是將一個數據源連接到一個數據綁定控制項的「數據控制項」。三者也都共享相同的外觀—一組共四個按扭,使用戶可以直接到達記錄集的開始、記錄集的末尾、以及在記錄集中向前或向後翻卷。
使用 Data 控制項創建一個簡單的資料庫應用程序
要使用 Data 控制項創建一個簡單的資料庫應用程序
在窗體上放置一個 Data 控制項。Data 控制項是一個內在的控制項,因而總是可用的。
單擊並選定這個 Data 控制項,按 F4 鍵顯示「屬性」窗口。
在「屬性」窗口中,將「連接」屬性設置為想要使用的資料庫類型。
在「屬性」窗口中,將「DatabaseName」屬性設置為想要連接的資料庫的文件或目錄名稱。
在「屬性」窗口中,將「記錄源」屬性設置為想要訪問的資料庫表的名稱。
在該窗體上放置一個文本框控制項。
單擊並選定這個 TextBox 控制項,並在其「屬性」窗口中將「數據源」屬性設置為該 Data 控制項。
在這個「屬性」窗口中,將「數據欄位」屬性設置為在該資料庫中想要察看或修改的欄位的名稱。
對其它的每一個想要訪問的欄位,重復第 6、7、8 步。
按 F5 鍵運行這個應用程序。
設置 Data 控制項與數據相關的屬性
下述與數據相關的屬性可以在設計時設置。這個列表給出了設置這些屬性的一種邏輯順序:
注意 資料庫技術是一門復雜的科學,下面的這些建議並不意味著要當作規則來使用。
RecordsetType — RecordsetType 屬性決定記錄集是一個表、一個動態集 (dynaset)、還是一個快照。這個選擇將影響哪些記錄集屬性是可用的。例如,快照類型的記錄集與 dynaset 記錄集相比具有更多的限制。
DefaultType — DefaultType 屬性指定所使用的是 JET 工作空間,還是 ODBCDirect 工作空間。
DefaultCursorType — DefaultCursorType 屬性決定游標的位置。可以使用 ODBC 驅動程序來決定游標的位置,或者指定伺服器或 ODBC 游標。只有當使用 ODBCDirect 工作空間時,DefaultCursorType 屬性才是有效的。
Exclusive — 決定該數據是用於單用戶環境,還是多用戶環境。
Options — 這個屬性決定記錄集的特徵。例如,在一個多用戶環境中,可以設置 Options 屬性來禁止他人所做的更改。
BOFAction、EOFAction — 這兩個屬性決定當這個控制項位於游標的開始或末尾時的行為。可能的選擇包括停留在開始或末尾、移動到第一個或最後一個記錄、或者添加一個新的記錄(只有在末尾時)。

H. vb修改資料庫數據

Set RS = DB.OpenRecordset("select * from stu_cj ")
加where條件
Set RS = DB.OpenRecordset("select * from stu_cj where SID = DBGrid1.Columns(0))

I. vb如何修改資料庫內的指定數據

使用Data控制項
內在的 Data 控制項通過使用 Microsoft 的 Jet 資料庫引擎來實現數據訪問 –與 Microsoft Access 所用的數回據庫引擎相同。這一技術使用戶答可以無縫地訪問很多標準的資料庫格式,而且使用戶無需編寫任何代碼就可以創建數據識別應用程序。這種內在的 Data 控制項最適合較小的(桌面)資料庫,諸如 Access 和 ISAM 資料庫。
可以使用這種內在的 Data 控制項創建應用程序,來顯示、編輯和更新來自多種已有的資料庫的信息。這些資料庫包括 Microsoft Access、Btrieve、dBASE、Microsoft FoxPro

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731