VB中的sql语句,完整的使用格式应该怎么书写?
举个例子,我现在需要使用count函数,在一个叫CK的数据表中,计算mark字段记录不为0的数据的总数量,并且想将这个计数结果输出到VB窗体的一个text控件中。以上功能...
举个例子,我现在需要使用count函数,在一个叫CK的数据表中,计算mark字段记录不为0的数据的总数量,并且想将这个计数结果输出到VB窗体的一个text控件中。以上功能由一个command控件实现,并且窗体中已经设置好了连接到CK数据表的数据库控件data1。请问有哪些变量需要定义,各自需要如何定义,又有哪些特殊的语句要写?如果是sum函数的话又是如何呢?请将代码从private sub到end sub都给出吧,小生不惜代价求助,在此拜谢各位大神们了!
展开
5个回答
展开全部
private sub command1()
dim conn As New ADODB.Connection '声明一个数据库连接对象
dim connstr As String '声明字符串变量用来记录连接数据库的语句
dim rs As New ADODB.Recordset '声明个记录集对象
dim i as integer '记数器
connstr=""Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\你的数据库名"
rs.Open "Select * From CK ", connstr, 1, 1
rs.MoveFirst
Do Until rs.EOF
IF rs("mark").Value<>0 then i=i+1
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
text1.text=i
end sub
给分,谢谢!
dim conn As New ADODB.Connection '声明一个数据库连接对象
dim connstr As String '声明字符串变量用来记录连接数据库的语句
dim rs As New ADODB.Recordset '声明个记录集对象
dim i as integer '记数器
connstr=""Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\你的数据库名"
rs.Open "Select * From CK ", connstr, 1, 1
rs.MoveFirst
Do Until rs.EOF
IF rs("mark").Value<>0 then i=i+1
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
text1.text=i
end sub
给分,谢谢!
更多追问追答
追问
现在问题变了……抱歉,如果您还能给出答案的话必然把分数给您。毕竟我已经把财富值扔出来了,也拿不回来了,所以只要您解决了我这最后一个问题,这120分就是您的了。现在是想要实现用户登录功能,就是要“根据用户输入的用户名从数据表中查询出来相应的密码,并将之与用户输入的密码对比”。主要的问题集中在查询语句的书写方式,以及如何将查询结果赋值给一个VB中的字符串型变量中。仍然需要完整的过程,万分感谢!
追答
rs.Open "Select * From 表名 where 用户名字段名='" & text1.Text & "' ", connstr, 1, 1
If rs.RecordCount = 0 Then
MsgBox "查无此用户名,请重新输入用户名!", 32, "错误"
text1.SetFocus
SendKeys "{home}+{end}"
Else
If rs("密码字段名").Value = text2.Text Then
from2.Show
Unload Me
Else
MsgBox "密码错误,请重新输入密码", 32, "错误"
text2.SetFocus
SendKeys "{home}+{end}"
End If
End If
rs.Close
Set rs = Nothing
展开全部
Private Sub Command1_Click()
Data1.RecordSource = "select sum(mark) from CK'"
Data1.Refresh
Text1 = Data1.Recordset.Fields(0)
End Sub
=======================================================
Data1.RecordSource="sql语句“
Data1.Refresh ‘打开数据表
Data1.RecordSource = "select sum(mark) from CK'"
Data1.Refresh
Text1 = Data1.Recordset.Fields(0)
End Sub
=======================================================
Data1.RecordSource="sql语句“
Data1.Refresh ‘打开数据表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim Cnn As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Private Sub Command1_Click()
Cnn.ConnectionString = ""
Cnn.Open
Rst.Open " select count(*) from where **=**", Cnn, 1, 1
Text1.Text = Rst.Fields(1).Value
Rst.Close
Cnn.Close
End Sub
建议使用纯代码完成,这样对你程序开发进步较大。
Dim Rst As New ADODB.Recordset
Private Sub Command1_Click()
Cnn.ConnectionString = ""
Cnn.Open
Rst.Open " select count(*) from where **=**", Cnn, 1, 1
Text1.Text = Rst.Fields(1).Value
Rst.Close
Cnn.Close
End Sub
建议使用纯代码完成,这样对你程序开发进步较大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用adodc控件。假设你已经连接好数据库
ADODC1.Recordsource ="select count(*) as 计数 from ck where mark<>0"
ADODC1.refresh
text1.text=Adodc1.Recordset.Fields(0).value
如果是sum,则ADODC1.Recordsource ="select sum(*) as 计数 from ck where mark<>0"
ADODC1.Recordsource ="select count(*) as 计数 from ck where mark<>0"
ADODC1.refresh
text1.text=Adodc1.Recordset.Fields(0).value
如果是sum,则ADODC1.Recordsource ="select sum(*) as 计数 from ck where mark<>0"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询