请问怎么在VB中设置ADODC为.pch 相对路径设置且将表显示在DATAGRID中并能由用户选择

select * from 订单 WHERE 订单号="&Text1.Text&"
我将DATAGRID和ADODC一起使用,以上这句代码写在ADODC的属性中代码源中,但是就是没办法显示出指定订单号的内容(一点信息都没显示出来),如果我不写WHERE的条件,运行后所有
select * from 订单 WHERE 订单号="&Text1.Text&"
我将DATAGRID和ADODC一起使用,以上这句代码写在ADODC的属性中代码源中,但是就是没办法显示出指定订单号的内容(一点信息都没显示出来),如果我不写WHERE的条件,运行后所有信息都会显示出来。
请高手指点一下,我要如何在ADODC的属性中代码源中写带WHERE的语句呢?
你SQL写错了吧!
dim dd as sting
dd="select * fom 定单 whee 定单号='" & text1.text & "'"
其他答案(共3个回答)
中是将订单号定义为字符串类型的吧?虽然text1.text在VB中是字符串类型,但是用在这里的时候,如果你不加一对单引号将其括起来,那么,这句SQL语句会将其当作数字来看,这时候,如果订单号是类似“1234”的,应该是有结果的,但是,如果订单号是“01234”的形式,SQL查询就会找不到了,因为其中的“0”被忽略掉了,实际上SQL找...
实质上是你的SQL语句中少了不该少的单引号(‘’)。我想你在数据库中是将订单号定义为字符串类型的吧?虽然text1.text在VB中是字符串类型,但是用在这里的时候,如果你不加一对单引号将其括起来,那么,这句SQL语句会将其当作数字来看,这时候,如果订单号是类似“1234”的,应该是有结果的,但是,如果订单号是“01234”的形式,SQL查询就会找不到了,因为其中的“0”被忽略掉了,实际上SQL找的是“1234”,而不是你想的“01234”,所以你找不到,显示的当然是空的。不加“whee”,没有了限制条件,当然所有的都会显示出来。
在属性代码源中写定的代码不能用变量或计算,同时,在fom load中,控件text1是否有值?
如果你要通过文本框中的值来读取数据库中的记录的话,可以参考这样:
1、添加一个BUTTON按钮
2、其click动作中添加语句:
adodc1.RecodSouce = "select * fom 订单 WHERE 订单号='" & text1.text & "'"
adod1.efesh
当然不对insert upadate delete语句不是默认的执行方式
你加一条com.commmandtype=commandtype.ser...(什么的...
新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将D...
SQL = "select * from tableName order by x,y"
应该是显示查看过你(P_UserId)的空间的人次数,将这些人显示出来
rs.recordcount是查看的人次数
写了个ADODB的例子,你可以看一下。包括最基本的数据库的操作(增加和查询)
你是想要综合查询的效果吗?我改了下你看看
答: http://zhidao.baidu.com/link?url=4HYTCHw-86QPbK-2pHGz1EeGfpH6NtJXHUh2qL3FYtQYySw...
答: DVB关键技术编辑DVBH技术是DVB和DVBT两种技术的融合,但是如果仅仅依靠上述两种技术是不能完全解决DVBH所面临的问题的
答: 除非你能有权限直接访问对方数据库,而且还要知道数据库表的关系以及表中数据条目的含义。否则是无法修改的,正常情况下对于数据的读取修改都是在服务器后台进行,而且会有...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区巧用VB6的DataGrid实现通用电子表格
巧用VB6的DataGrid实现通用电子表格
  -在Microsoft Developer Network
Library Visual Studio 6.0(MSDN)或者VB5.0的《联
机手册》中都提供了一个《在(Hierarchical)FlexGrid
电子表格中编辑单元》的解决方 案,实现了在(Hierarchical)FlexGrid电子表格中编辑单元,另外也有一些关于实现类
电 子表格的文章与该方案大同小异,都是用TextBox与Grid
一类的控件配合来实现的,因 为Grid
之类的控件本身是不可以编辑单元的,然而众所周知DataGrid本身就是可以编
辑单元,它的一般用法是在程序设计或运行时设置一个数据源(DataSource),这个数据
源可以是Recordset或者是数据控件(如:ADODC等),在通常情况下该数据源是一个
数据库(DataBase)的基本表(Table)、视图(View)或者查询(Query)等。其实,DataGrid
的数据源的本质就是一个二维表,该数据源可以是一个无数据库实体的二维表(记录集
Recordset),这样就可以用DataGrid实现通用电子表格编辑单元。思路很简单,就是在
程序运行时,创建一任意Recordset作为DataGrid的DataSource。当然,该记录集仅仅
就是一个二维表,并无数据库实体。
  一些实现的技术细节代码如下:
  创建任意无数据库实体的记录集,并将其设为DataGrid的数据源。
Dim adoRecordset As ADODB.Recordset
Set adoRecordset = New ADODB.Recordset
Dim i As Integer
For i = 0 To 2
'为Recordset三个字段,即为 DataGrid 添加三列
adoRecordset.Fields.Append &第& & i & &列&, adVariant, ,
adFldMayBeNull + adFldIsNullable + adFldUpdatable
adoRecordset.Open
For i = 0 To 3
adoRecordset.AddNew '加四条记录,即为 DataGrid 添加四空行
Set DataGrid1.DataSource = adoRecordset '绑定 DataGrid 的数据源
adoRecordset.MoveFirst
'编到这里就已经实现了编辑单元格。
准确读取单元格内容,是电子表格最重要的方面。
  方法一:直接使用记录集。
  创建如下函数返回某单元格内容:
Private Function vMyCell_1
(adoRecordsetX As ADODB.Recordset,
iColX As Integer, iRowX As Integer) As Variant
If iColX & = adoRecordsetX.Fields.Count
- 1 And iRowX & =
adoRecordsetX.RecordCount - 1 Then
adoRecordsetX.Move iRowX, adBookmarkFirst
If IsNull(adoRecordsetX.Fields(iColX).Value) Then
vMyCell_1 = &Null&
vMyCell_1 = adoRecordsetX.Fields(iColX).Value
vMyCell_1 = &下标越界&
End Function
  方法二:使用记录集数组。
  创建如下函数返回某单元格内容:
Private Function vMyCell_2
(adoRecordsetX As ADODB.Recordset,
iColX As Integer, iRowX As Integer) As Variant
Dim V As Variant
'将 Recordset 对象的多个记录恢复到数组中
V = adoRecordsetX.GetRows(adoRecordsetX.RecordCount,
adBookmarkFirst)
If iColX & = UBound(V, 1)
And iRowX & = UBound(V, 2) Then
If IsNull(V(iColX, iRowX)) Then
vMyCell_2 = &Null&
vMyCell_2 = V(iColX, iRowX)
vMyCell_2 = &下标越界&
End Function
  方法三:使用DataGrid.Text属性返回。
  创建如下函数返回某单元格内容:
Private Function vMyCell_3
(DataGridX As DataGrid, adoRecordsetX As
ADODB.Recordset, iColX As Integer,
iRowX As Integer) As Variant
If iColX & = DataGridX.Columns.Count
- 1 And iRowX & =
adoRecordsetX.RecordCount - 1 Then
DataGridX.Col = iColX
DataGridX.Row = iRowX
vMyCell_3 = DataGridX.Text
vMyCell_3 = &下标越界&
End Function
  该方案在PWin 9.X 和VB 6.0下通过。轻而易举就实现了编辑电子表格单元,其关键就在于创建了一个无数据库实
体的记录集来作为DataGrid的数据源,这就说明了Recordset
对象的范畴还是比较广的,其用途也决不仅仅局限于对数据库的操作,利用该思路我们还可以使摆脱在硬盘上建立
临时库和表之苦成为可能等等。
┊┊┊┊┊┊┊┊┊┊┊
┊┊┊┊┊┊┊┊┊┊┊
┊┊┊┊┊┊┊┊┊┊┊拒绝访问 | www.excelpx.com | 百度云加速
请打开cookies.
此网站 (www.excelpx.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3a7c-ua98).
重新安装浏览器,或使用别的浏览器博客访问: 1561444
博文数量: 465
博客积分: 10921
博客等级: 上将
技术积分: 5448
注册时间:
一直以为 vb 中单击 datagrid 的定位应该使用click 事件,却每次都是得到上次单击事件所在的行或列,没办法,只好每次都使用doubleclick事件。终于从一片文章中看到是应该使用RowColChange事件的。如下例
Private Sub DATAGRID1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)&&&&On Error Resume Next&&&&text1.Text = IIf(adodc1.recordset.EOF = False, adodc1.recordset.Fields(0), "")End Sub
阅读(2306) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~
十分感谢,祝你顺利,好人
困扰我好久。谢谢。
请登录后评论。}

我要回帖

更多关于 vs相对路径设置 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信