社区
VB基础类
帖子详情
查询数据时,只能查询到部分字段。郁闷中……在线等~~~~~~~~~~~~~
windeflower
2003-12-23 10:19:49
谁遇到过在对一个表查询时,有些字段的值不在查询结果中
例如:
表:学生
学号 姓名 年龄 籍贯
10001 王 21 大连
10002 李 23 沈阳
SQL语句:
STRSQL="SELECT * FROM 学生 WHERE 学号='"10001"'"
SET RS=CON.EXECUTE(STRSQL)
结果
学号 姓名 年龄 籍贯
10001 王
即 RS!年龄和RS!籍贯没有值
哪位大虾见过类似问题?
...全文
214
17
打赏
收藏
查询数据时,只能查询到部分字段。郁闷中……在线等~~~~~~~~~~~~~
谁遇到过在对一个表查询时,有些字段的值不在查询结果中 例如: 表:学生 学号 姓名 年龄 籍贯 10001 王 21 大连 10002 李 23 沈阳 SQL语句: STRSQL="SELECT * FROM 学生 WHERE 学号='"10001"'" SET RS=CON.EXECUTE(STRSQL) 结果 学号 姓名 年龄 籍贯 10001 王 即 RS!年龄和RS!籍贯没有值 哪位大虾见过类似问题?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windeflower
2003-12-24
打赏
举报
回复
我真的没招了!
可能是老天捉弄我吧
windeflower
2003-12-23
打赏
举报
回复
是不是我的SQL SERVER2000有问题啊
有的时候查询后RS.FIELDSCOUNT竟然等于-1
而查询分析器中同样的语句能得出好多记录,应该是大于0的
这都是什么原因啊,是不是VB中运行SQL经常会得到这样的结果啊
windeflower
2003-12-23
打赏
举报
回复
For Each fld In rs.Fields
Debug.Print "'" & fld.Name & "': " & fld.value
Next fld
是在If Not rs.EOF Then 上边插入的
可是运行时就差“合同内容”在窗体上不显示了
也就是说 rs!合同内容 是没有值的 且不为""
windeflower
2003-12-23
打赏
举报
回复
'合同编号': 0001
'合同名称': 和平广场地下通道建设合同
'合同类别': 房屋出售
'收付类型': 收款
'签订日期': 2003-01-01
'工程': 和平广场地下通道建设工程
'合同总额': 500
'生效日期': 2003-04-01
'终止日期':
'终止原因':
'合同内容': 321321
'我方单位': 工程部
'对方单位': 12321
'对方地址': 21312
'对方电话': 21321
'其他方单位': 21312
'其他方地址': 21312
'其他方电话': 21321
'执行状态': 未执行
'审核':
'门牌号': 12121212
'房屋面积': 150
'单价': 6000
能显示出结果了,不过还差一个“合同内容”没有结果
馮強
2003-12-23
打赏
举报
回复
是不是Grid的列数定义太少了。
windeflower
2003-12-23
打赏
举报
回复
大哥!不好意思,偶是学俄语的,这样写数据库方便些,以后努力了
上边说的学生表是个举例!具体代码是上边那个关于合同的
rs.fields(0),rs.fields(1).....这种方法已经试过
victorycyz
2003-12-23
打赏
举报
回复
请把下面的语句的执行结果贴上来看看:
dim fld as field
for each fld in rs.fields
print "'" & fld.name & "': " & fld.value
next
nik_Amis
2003-12-23
打赏
举报
回复
up
windeflower
2003-12-23
打赏
举报
回复
从“我方单位”一直到“合同内容”都没有值
guoyx
2003-12-23
打赏
举报
回复
你的语句,没问题呀。如果你是使用Access,当你使用引擎不匹配时,使用中文是出错的,所以建议使用rs.fields(0),rs.fields(1).....
yaya1979
2003-12-23
打赏
举报
回复
首先建议你不要用中文写表名以及字段名,第一容易出错,第二应该养成一个良好的编程风格以及习惯。
然后看一下你的10001那儿的符号有没有错误,在SQL中试了你的语句,SELECT * FROM 学生 WHERE (学号 = '10001 ') 答案正确
windeflower
2003-12-23
打赏
举报
回复
With frmCon
grd.Col = 1
ConNo = Replace(Trim(grd.Text), "'", "''") '获得合同编号
strsql = "select * from 合同 where 合同编号='" & ConNo & "'"
Set rs = con.Execute(strsql)
If Not rs.EOF Then
.txtConNo.Text = rs!合同编号
.cboConType.Text = rs!合同类别
.cboRP.Text = rs!收付类型
.txtConName.Text = rs!合同名称
.txtTotalAmount.Text = rs!合同总额
.cboState.Text = rs!执行状态
.txtSignDate.Text = rs!签订日期
.txtProName.Text = rs!工程
.txtValDate.Text = rs!生效日期
.cboMyName.Text = rs!我方单位
.txtYiName.Text = rs!对方单位
.txtYiAddress.Text = rs!对方地址
.txtYiTel.Text = rs!对方电话
.txtSanName.Text = rs!其他方单位
.txtSanAddress.Text = rs!其他方地址
.txtSanTel.Text = rs!其他方电话
.txtContent.Text = rs!合同内容
.txtDoorNo.Text = rs!门牌号
.txtAcreage.Text = rs!房屋面积
.txtUPrice.Text = rs!单价
.txtEndDate.Text = rs!终止日期
.txtEndCausation.Text = rs!终止原因
End If
End With
windeflower
2003-12-23
打赏
举报
回复
我把SQL语句在查询分析器中调用过了,也是正确的
我也使用过多种方法表示字段都没可以
如:
RS.FIELDS()
RS.学号
RS("学号")
rs()
windeflower
2003-12-23
打赏
举报
回复
没值啊,所以郁闷
我用
WHILE I=0 TO 3
DEBUG.PRINT RS.FIELDS(I)
NEXT I
不知为什么却会打印出想要的正确结果
landongfang
2003-12-23
打赏
举报
回复
不要在表名,字段名使用中文
容易出错
jhzhou882
2003-12-23
打赏
举报
回复
rs里就两列吗?不会吧
objRs(0).value
objRs(1).value
objRs(2).value
objRs(3).value
看看有值没
jone999
2003-12-23
打赏
举报
回复
这个问题真的很奇怪,重装VB或到别的机子试试
HDU 1800 哈希算法BKDRHash
刚刚收集的哈希算法直接用到了,正好可以练习一下,哈哈…… 题目意思不说了,别人有解释,争分夺秒,直接说思想与代码。 刚才收集到的哈希函数有个BKDRHash的,那个是比较好比较突出的,然后在这直接用到了,哈哈。不过刚开始有点可悲的是,数组越界了……然后检查了下代码,又自己大概算了一下,确定在定义的范围内,不管定义数组下标多少都会越界的,因为seed=131,而s[i]='9'的
时
候也是五十几了
HDU 1800 字符Hash
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1800 本题的本质:求相同级别(level)的人最多是几个 (1)如果level的范围不大的话(64位整数可以表示)--本题先排序,在计算每个level的人数,取最大值 (2)本题的难点:level的范围较大,需要大数或者字符串(去首0) 效率较高,编程简单的方法:Hash 此外,字典
Flying to the Mars HDU - 1800 (哈希)
Flying to the Mars HDU - 1800 题意:求最多有多少个数字相等,数可能很大,30位。 本来直接map就可以,练习一下哈希,先映射成数再用的map。。。 1 #include <cstring> 2 #include <iostream> 3 #include <cstdio> 4 using names...
hdu1800(哈希或map)
题意大概就是求一些重复出现的字符串
中
最大的次数,用map可以水过,但是
时
间比较慢,rp不好就会TLE,看服务器洛,正好学了了哈希,用哈希搞是绝对不会超
时
的 写贴个map写法,998ms,760,670还TLE了一次,也是醉了 #include #include #include #include #include #include #include using namespace
hdu 1800 (哈希)
哈希思想的简单应用hdu 1800题意: 有n个字符串,求出出现次数最多的字符串的出现次数。 思路: 这道题可以直接用朴素算法写出,用map标记每一个字符串出现的次数,取出最大的就行。朴素算法: #include
#include
#include
using namespace std;int main() { //freopen(
VB基础类
7,788
社区成员
197,583
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章