永发信息网

vb6.0中如何使用sql语句(急,只要告诉我把代码放在哪就行)

答案:5  悬赏:50  手机版
解决时间 2021-07-25 16:55
  • 提问者网友:兔牙战士
  • 2021-07-24 23:48

例如我在书上抄的这段放进代码段里。。。

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用项目,神啊救救我吧。

最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-07-25 00:36

这是一个调用数据库的表里面数据的语句,不是放在什么控件中输出的,你无论在一个怎么样的过程中都可以输出你想要的结果,比如你有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

全部回答
  • 1楼网友:行路难
  • 2021-07-25 02:55

strsql是 "select * from 表1" 如果你不要strsql 也可以直接调用Adodc1.RecordSource="select * from 表1" 其中adodc就是在部件的microsoft ado data control 6.0控件调用的数据库是adodc1属性的recordsource

如果还不明白就加我QQ吧。你的问题问得不是很清楚

  • 2楼网友:山君与见山
  • 2021-07-25 02:20

第三句设置Adodc1控件的查询语句,这个控件通常和datagrid控件一起使用,查询的结果就放在datagrid控件里

datagrid控件有个datasource设置为Adodc1就可以显示查询的结果

  • 3楼网友:拜訪者
  • 2021-07-25 01:23

按钮的单击事件中

Command1_Click

  • 4楼网友:摆渡翁
  • 2021-07-25 00:58

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控件

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯