VB中的sql语句,完整的使用格式应该怎么书写?

举个例子,我现在需要使用count函数,在一个叫CK的数据表中,计算mark字段记录不为0的数据的总数量,并且想将这个计数结果输出到VB窗体的一个text控件中。以上功能... 举个例子,我现在需要使用count函数,在一个叫CK的数据表中,计算mark字段记录不为0的数据的总数量,并且想将这个计数结果输出到VB窗体的一个text控件中。以上功能由一个command控件实现,并且窗体中已经设置好了连接到CK数据表的数据库控件data1。请问有哪些变量需要定义,各自需要如何定义,又有哪些特殊的语句要写?如果是sum函数的话又是如何呢?请将代码从private sub到end sub都给出吧,小生不惜代价求助,在此拜谢各位大神们了! 展开
 我来答
星惶e
2012-06-04 · TA获得超过215个赞
知道小有建树答主
回答量:337
采纳率:40%
帮助的人:200万
展开全部
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
给分,谢谢!
更多追问追答
追问
现在问题变了……抱歉,如果您还能给出答案的话必然把分数给您。毕竟我已经把财富值扔出来了,也拿不回来了,所以只要您解决了我这最后一个问题,这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
chinaboyzyq
2012-06-04 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3294万
展开全部
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 ‘打开数据表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
850842614
2012-06-04 · 超过11用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:32.3万
展开全部
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

建议使用纯代码完成,这样对你程序开发进步较大。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wjfgttt
2012-06-04 · 超过29用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:61.4万
展开全部
使用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"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
syx54
2012-06-04 · TA获得超过7379个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2774万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式