在VB中如何调用数据库,用什么控件什么语句
我建立了数据库但不知道怎么调用,不知道用什么控件什么语句。我想输入一个数值,然后和数据库里的数据比较选出比这个数值大的数来列表,但是不知道怎么办才能打到这个目的。请说详细...
我建立了数据库但不知道怎么调用,不知道用什么控件什么语句。我想输入一个数值,然后和数据库里的数据比较选出比这个数值大的数来列表,但是不知道怎么办才能打到这个目的。请说详细些,谢谢了。
我看了看回答。。但是没有看懂啊。。。 展开
我看了看回答。。但是没有看懂啊。。。 展开
5个回答
2015-07-14 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464975
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
Public Function ConnectString() _
As String
ConnectString = "FileDSN=info.dsn;UID=sa;PWD=23" '连接字符器,改成你自己的
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset '这里是执行SQL语句,你只需要调用这个方法,把SQL查询语句参数传进来,最后返回一个Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
Public Function Testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
Testtxt = False
Else
Testtxt = True
End If
End Function
As String
ConnectString = "FileDSN=info.dsn;UID=sa;PWD=23" '连接字符器,改成你自己的
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset '这里是执行SQL语句,你只需要调用这个方法,把SQL查询语句参数传进来,最后返回一个Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
Public Function Testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
Testtxt = False
Else
Testtxt = True
End If
End Function
展开全部
首先在【工程】-【引用】中添加 Microsoft ActiveX Data Objext 2.x 引用
Private Sub Command1_Click()
Dim conn As New ADODB.connection
Dim rs As New ADODB.Recordset
Dim sql As String
Dim connstr As String
Dim dbPath As String
Dim tableName As String
Dim field1 As String
dbPath="d:\A.mdb" '数据库路径
tableName="B" 'B-表名
field1="C" 'C-你需要比较的字段名
connstr = "provider=microsoft.jet.oledb.4.0;data source=" & dbPath
sql = "select * from " & tableName & " where " & field1 & ">" & Val(Text1.Text) 'Text1中是你要比较的数值
conn.open (connstr)
rs.open sql, conn, 1, 1
If rs.recordcount > 0 Then
rs.MoveFirst
do while not rs.eof
Print rs(field1) '在窗体输出结果
rs.MoveNext
loop
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
Private Sub Command1_Click()
Dim conn As New ADODB.connection
Dim rs As New ADODB.Recordset
Dim sql As String
Dim connstr As String
Dim dbPath As String
Dim tableName As String
Dim field1 As String
dbPath="d:\A.mdb" '数据库路径
tableName="B" 'B-表名
field1="C" 'C-你需要比较的字段名
connstr = "provider=microsoft.jet.oledb.4.0;data source=" & dbPath
sql = "select * from " & tableName & " where " & field1 & ">" & Val(Text1.Text) 'Text1中是你要比较的数值
conn.open (connstr)
rs.open sql, conn, 1, 1
If rs.recordcount > 0 Then
rs.MoveFirst
do while not rs.eof
Print rs(field1) '在窗体输出结果
rs.MoveNext
loop
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先在工程—引用—部件中添加俩个控件。
需要用到的控件ADODC和DateGrade(这个单词可能不对)这俩控件
然后把ADODC控件的ConnectionString进行设置连接到你的数据库
建立一个TEXT文本框。文本框有个属性是连接数据库的。然后
还有一个属性是连接数据库中列名的。执行程序时候显示数据(列下面的数据)
!
然后TextX.text里的数值就是数据库里的数值。
至于比较大小你应该会
If TextX.Text>TextY.Text Then
……
End If
需要用到的控件ADODC和DateGrade(这个单词可能不对)这俩控件
然后把ADODC控件的ConnectionString进行设置连接到你的数据库
建立一个TEXT文本框。文本框有个属性是连接数据库的。然后
还有一个属性是连接数据库中列名的。执行程序时候显示数据(列下面的数据)
!
然后TextX.text里的数值就是数据库里的数值。
至于比较大小你应该会
If TextX.Text>TextY.Text Then
……
End If
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你得好好学学,访问数据库是重点。
过程是建好数据库后先引用数据库组件:工程(菜单)——引用——microsoft activex data objects 2.0 libray,然后在你的窗体中做程序连接数据库。
可以创建一个模块,然后输入:
Public Sub link()
conn.Open "provider=microsoft.jet.oledb.4.0;Jet OLEDB:Database password=123456;data source=" & App.Path & "\zixun.mdb"
End Sub
zixun.mdb就是数据库名,123456是数据库密码。窗体中具体调用的时候写上call link就打开数据库连接了。
这仅仅是连接好了数据库,至于访问,那内容太多了。
过程是建好数据库后先引用数据库组件:工程(菜单)——引用——microsoft activex data objects 2.0 libray,然后在你的窗体中做程序连接数据库。
可以创建一个模块,然后输入:
Public Sub link()
conn.Open "provider=microsoft.jet.oledb.4.0;Jet OLEDB:Database password=123456;data source=" & App.Path & "\zixun.mdb"
End Sub
zixun.mdb就是数据库名,123456是数据库密码。窗体中具体调用的时候写上call link就打开数据库连接了。
这仅仅是连接好了数据库,至于访问,那内容太多了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩,很全面了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询