你还是好好看看SQL语句的使用吧!如果你装了msdn的化在如下目录中有很多例子
c:\Program Files\Microsoft Visual Statudio\MSDN98\98VS\2052\SAMPLES\VB98
c:\Program Files\Microsoft Visual Statudio\MSDN98\98VS\2052\SAMPLES\VB98
调试欢乐多
dim adors as new adodb.recordset
adors.open "表名",......很多参数(意义msdn找)
你可以把adors绑定到datagrid这样的控件,也可以用rs("字段名")获取值
Dim WithEvents adoUser As Recordset在过程中添加:
Dim db As Connection
Set db = New Connection
db.CursorLoaction = adUseClient
db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"
Set adoUser = New Recordset
adoUser.Open"select * form 表 Order by 字段2",db,adOpenStatic,adLockOptimistic
Set DataGrid1.DataSource = adoUser
查找事件:Dim i As String
i = Text1.Text '获取匹配内容
'ADO语句打开数据库
Dim db As Connection
Set db = New Connection
db.CursorLoaction = adUseClient
db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"adoUser.Close '清除网格数据
Set adoUser = New RecordsetadoUser.Open "select * from 表 where 字段1 like '%" & i & "%' Order by 字段2", db, adOpenStatic, adLockOptimistic '静态,开放锁
Set DataGrid1.DataSource = adoUser '赋值给DataGrid网格控件DataGrid1.R...sh '忘记了,VB会给你添上的
主窗体(有DataGrid1控件,ADODC控件):
Private Sub Command1_Click() ‘新建按钮
frmCunKuanJiZhang.Show
'frmCunKuanJiZhang.db.Recordset.AddNew
Me.Enabled = False
End SubPrivate Sub Command2_Click() ’修改按钮
Dim i As Integer
Dim m As Integer
i = db.Recordset.AbsolutePosition
For m = 0 To 10
DataGrid1.Col = m
DataGrid1.Row = i - 1
‘向修改窗体传数据
If m = 0 Then frmGaiCunDan.DTPicker1.Value = CStr(DataGrid1.Text)
If m = 1 Then frmGaiCunDan.Text1.Text = CStr(DataGrid1.Text)
If m = 2 Then frmGaiCunDan.Combo4.Text = CStr(DataGrid1.Text)
If m = 3 Then frmGaiCunDan.Combo1.Text = CStr(DataGrid1.Text)
If m = 4 Then frmGaiCunDan.Text3.Text = CStr(DataGrid1.Text)
If m = 6 Then frmGaiCunDan.Text2.Text = CStr(DataGrid1.Text)
If m = 7 Then frmGaiCunDan.Text5.Text = CStr(DataGrid1.Text)
If m = 8 Then frmGaiCunDan.Text4.Text = CStr(DataGrid1.Text)
If m = 9 Then frmGaiCunDan.Combo3.Text = CStr(DataGrid1.Text)
If m = 10 Then frmGaiCunDan.Combo2.Text = CStr(DataGrid1.Text)
Next m
frmGaiCunDan.Show
End SubPrivate Sub Command3_Click() ’删除按钮
i = MsgBox("你真的要删除这条记录吗?", vbOKCancel + 32, "金盛温馨提示!删除!")
If i = 1 Then
On Error GoTo DeleteErr
With db.Recordset
.Delete
.MoveNext
If .EOF Then .MoveLast
End With
Exit Sub
DeleteErr:
MsgBox Err.Description
End If
End SubPrivate Sub Command6_Click() ‘关闭按钮
Me.Hide
MDIForm1.Picture1.Visible = True
End SubPrivate Sub Form_Load()
'Set DataGrid1.DataSource = rs
Me.Top = MDIForm1.Top + 100
Me.Left = MDIForm1.Left + 100
Me.Width = Screen.Width - 200
End SubPrivate Sub Form_Resize()
Me.Height = MDIForm1.Height - 2000
Command6.Left = Me.Left + (Me.Width - Command6.Width) - 400
Frame1.Left = 500
Frame1.Width = Me.Width - 1000
DataGrid1.Left = 400
DataGrid1.Width = Me.Width - 1000
DataGrid1.Top = Frame1.Top + 200
DataGrid1.Height = Me.Height - Frame1.Top - 600
Label1.Width = Screen.Width
Label2.Width = Screen.Width
End Sub新建窗体代码(没用数据控件):
Option Explicit
Public rs As ADODB.Recordset
Public db As ADODB.ConnectionPrivate Sub Command1_Click() ’确定新添
Dim n As String
Dim i As Integer
Dim m As Integer
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = "driver={SQL Server};server=jcpan;database=jinshenglicai;"‘连接数据库 db.Open
rs.Open "select * from J_dingqicunkuan", db, adOpenStatic, adLockReadOnly
If Text1.Text <> "" Then
rs.Close
rs.Open "select cundanname from J_dingqicunkuan where cundanname='" & Trim(Text1.Text) & "'"
If rs.EOF = False And rs.BOF = False Then
n = MsgBox("非常遗憾!这个存单名称已经存在!那就在换一个吧!", 48 + 0, "金盛温馨提示!")
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Text1.SetFocus
Else
rs.Close
rs.Open " insert into J_dingqicunkuan(cunrudate,cundanname,bizhong,cundanleixing,cunrujine,daoqijine,shuoming,zhanghao,lilv,kaihuhang,qixian) values ( '" & Trim(DTPicker1.Value) & "' , '" & Trim(Text1.Text) & "' ,'" & Trim(Combo3.Text) & "','" & Trim(Combo4.Text) & "'," & Trim(Text3.Text) & "," & Trim(Text3.Text) & ",'" & Trim(Text2.Text) & "','" & Trim(Text4.Text) & "','" & Trim(Text5.Text) & "','" & Trim(Combo2.Text) & "','" & Trim(Combo1.Text) & "')", db, adOpenStatic, adLockReadOnly
rs.Open "select * from j_dingqicunkuan", db, adOpenStatic, adLockReadOnly ’向数据库插入数据
Me.Hide
frmcunkuanbiao.db.Refresh
frmcunkuanbiao.Enabled = True End If
Else
m = MsgBox("看看你是否填了存单名称?", 32 + 0, "金盛温馨提示!请填存单名称!")
Text1.SetFocus End If
rs.Fields.Refresh
End SubPrivate Sub Command2_Click() ‘取消按钮
Me.Hide
frmcunkuanbiao.Enabled = True
End SubPrivate Sub Form_Load()
Dim t As Integer
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = "driver={SQL Server};server=jcpan;database=jinshenglicai;" db.Open
DTPicker1.Value = Date$
Me.Top = (Screen.Height - Me.Height) / 4
Me.Left = (Screen.Width - Me.Width) / 2
End Sub
热连接,也就是当你修改dataGrid中的记录时焦点离开这条数据的时候,将所改动的
内容自动提交到数据库中.不需要写其他的代码.
Dim WithEvents adoUser As Recordset在form_load()过程中添加:
Dim db As Connection
Set db = New Connection
db.CursorLoaction = adUseClient
db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"
Set adoUser = New Recordset
adoUser.Open"select * form 表 Order by 字段2",db,adOpenStatic,adLockOptimistic
Set DataGrid1.DataSource = adoUser
查找按钮Command6_Click()事件:Dim i As String
i = Text1.Text '获取匹配内容
'ADO语句打开数据库
Dim db As Connection
Set db = New Connection
db.CursorLoaction = adUseClient
db.Open"Provider = Microsoft.Jet.OLEDB.4.0;Persist Security Info = False; Data Source = C:\...\db1.mdb;"adoUser.Close '清除网格数据
Set adoUser = New RecordsetadoUser.Open "select * from 表 where 字段1 like '%" & i & "%' Order by 字段2", db, adOpenStatic, adLockOptimistic '静态,开放锁
Set DataGrid1.DataSource = adoUser '赋值给DataGrid网格控件DataGrid1.R...sh '忘记了,VB会给你添上的
添加事件:
adoUser.AddNew删除事件:
With adoUser
.Delete
.MoveNext
If .EOF Then .MoveLast
End With
Exit Sub 其实没有必要这样罗嗦,你可以用VB的数据窗体先导,然后选择ADO代码项,一步一步地做下去,最后,再根据自己的需要,在代码上添加和修改就行了。