例如我在书上抄的这段放进代码段里。。。
Dim strsql As String
strsql = "select * from 表1"
Adodc1.RecordSource = strsql
和
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find "sname='张三'"
If Adodc1.Recordset.EOF Then MsgBox "未查到姓名为张三的记录。"
((((找到的话应放在什么控件里输出))))))
不知道怎么办。。帮帮忙。。。急啊。。。这学期要用vb用项目,神啊救救我吧。
这是一个调用数据库的表里面数据的语句,不是放在什么控件中输出的,你无论在一个怎么样的过程中都可以输出你想要的结果,比如你有text控件,tdgrid控件等等,一般的数据的输出用到mshflexgrid控件。首先的逻辑思维就不正确。比如我用mshflexgrid1显示你的数据 就可以这样写
set mshflexgrid.datasource=Adodc1.RecordSource
现在已经很少人用adodc控件了 一般用 adodb组件
我现在告诉你一种方法 你在vb的工程中 工程-引用 添加micfosoft activex data objects 2.5 library
然后在你想要显示数据的某个过程种加入以下代码
Dim rs As New ADODB.Connection
Dim str As String
Dim re As New ADODB.Recordset
Dim strsql As String
str = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=GFDY2007;Data Source=20091103-1521"
'SQLOLEDB 为数据源 SQL server ;access等 这里是sql server, Password 为数据库登录密码 Persist Security Info=True不管,User ID为数据库登录名称
'Initial Catalog 为数据库名 ,Data Source 为机器名
rs.Open str
strsql = "select * from T_DY_DataClass" 'SQL查询语句"
re.Open strsql, str, 1, 3 '使用 Open 方法打开数据库中的一个表
Set MSHFlexGrid1.DataSource = re
re.Close
strsql是 "select * from 表1" 如果你不要strsql 也可以直接调用Adodc1.RecordSource="select * from 表1"
其中adodc就是在部件的microsoft ado data control 6.0控件调用的数据库是adodc1属性的recordsource
如果还不明白就加我QQ吧。你的问题问得不是很清楚
第三句设置Adodc1控件的查询语句,这个控件通常和datagrid控件一起使用,查询的结果就放在datagrid控件里
datagrid控件有个datasource设置为Adodc1就可以显示查询的结果
Dim strsql As String
Adodc1.RecordSource =strsql = "select * from 表1"
If Adodc1.Recordset.RecordCount > 0 Then
MsgBox "未查到姓名为张三的记录。"
else
这里放控件代码.我的例子你在把字段和一些改一下就行了,
MS1.Rows = 1
Dim i, j, n As Integer
Dim s, y
MS1.ColWidth(0) = 20
'MS1.Rows = RsNumber 'RsNumber变量,获得查询的个数
i = 1
j = 1
MS1.Rows = 1
MS1.Cols = 11
Adodc1.RecordSource = "select * from userdy where 家庭编号 = '" & FTextBox8.Text & "'order by 人口编号 "
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Do While Adodc1.Recordset.EOF = False '将记录显示到MS1控件中
i = i + 1
MS1.AddItem (i)
MS1.Row = MS1.Rows - 1
MS1.TextMatrix(MS1.Row, 0) = ""
MS1.TextMatrix(MS1.Row, 1) = "" & Format(MS1.Row, "000")
MS1.TextMatrix(MS1.Row, 2) = "" & Adodc1.Recordset.Fields("家庭编号").Value
MS1.TextMatrix(MS1.Row, 3) = "" & Adodc1.Recordset.Fields("人口编号").Value
MS1.TextMatrix(MS1.Row, 4) = "" & Adodc1.Recordset.Fields("姓名").Value
MS1.TextMatrix(MS1.Row, 5) = "" & Adodc1.Recordset.Fields("与户主关系").Value
MS1.TextMatrix(MS1.Row, 6) = "" & Adodc1.Recordset.Fields("性别").Value
MS1.TextMatrix(MS1.Row, 7) = "" & Adodc1.Recordset.Fields("出生日期").Value
MS1.TextMatrix(MS1.Row, 8) = "" & Adodc1.Recordset.Fields("文化程度").Value
MS1.TextMatrix(MS1.Row, 9) = "" & Adodc1.Recordset.Fields("职业").Value
MS1.TextMatrix(MS1.Row, 10) = "" & Adodc1.Recordset.Fields("婚烟状况").Value
Adodc1.Recordset.MoveNext
Loop
Else
End If
s = Array("1200", "888", "1500", "1800", "1200", "1200", "555", "1000", "2000", "2000", "2000")
y = Array("", "序号", "家庭编号", "人口编号", "姓名", "与户主关系", "性别", "出生日期", "文化程度", "职业", "婚烟状况")
For n = 1 To 10
MS1.ColWidth(n) = s(n)
MS1.TextMatrix(0, n) = y(n)
Next n
''加色
''颜色信息
LineColorOne = &HFFF8F0
LineColorTwo = &HF0F7FF
CheckedColor = RGB(138, 209, 254)
MS1.FillStyle = flexFillRepeat
For i = MS1.FixedRows To MS1.Rows - 1
MS1.Row = i: MS1.Col = FixedColCount
MS1.ColSel = MS1.Cols() - 1
If i Mod 2 = 1 Then
MS1.CellBackColor = LineColorOne
Else
MS1.CellBackColor = LineColorTwo
End If
Next
end if
'((((找到的话应放在什么控件里输出))))))
'这样要在窗体上加一个MSFlexGrid11控件
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息