碰到一个怪问题,关于VB和SQL的问题,

benjamin8064 2004-06-08 02:25:40
我写了一句SQL语句,在SQL的查询分析器运行一切正常,但是当我用VB去执行这条语句时,发现执行的结果和SQl查询分析器出来的不一样。

比如:
SQL查询分析器
科目 考试人数
语文 0
数学 0
外语 0
物理 5
化学 4
VB结果
科目 考试人数
语文 5
数学 5
外语 5
物理 5
化学 5
请问各位,我应该怎么查?

Dim db As New ADODB.Connection
Dim rs As New ADODB.Recordset

Private Sub Command1_Click()
With db
.ConnectionString = "Driver={SQL Server};Server=服务器名;Uid=sa;Pwd=;Database=数据库名"
.Open
End With
strsql = 那句SQL语句(由于很长,在此省略)
rs.Open strsql, db, adOpenStatic, adLockPessimistic
rs.Close
db.Close
End Sub

...全文
141 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
benjamin8064 2004-06-08
  • 打赏
  • 举报
回复
to kissoflife:
我就是这么做的,唉,晕呀
wumy_ld 2004-06-08
  • 打赏
  • 举报
回复
理论上不可能出现这么夸张的错误,楼主可以把查询分析器里面的代码拷贝到vb里面,再看看效果。
huangjianyou 2004-06-08
  • 打赏
  • 举报
回复
SQL语句和在查询分析器里执行的语句,这不是两条语句吗?
benjamin8064 2004-06-08
  • 打赏
  • 举报
回复
这是一条语句
只是里面包含子语句
hebookboy 2004-06-08
  • 打赏
  • 举报
回复
跟踪啊
huangjianyou 2004-06-08
  • 打赏
  • 举报
回复
应该是两条语句啊。
设置断点,看一下另外一条怎样的。
benjamin8064 2004-06-08
  • 打赏
  • 举报
回复
这是那条语句
benjamin8064 2004-06-08
  • 打赏
  • 举报
回复
select c_achievestatus.id_achievestatus_a,case when a.ct is null then '0' else a.ct end as amount
from c_achievestatus left join
(select ch_proposal_trial.id_achievestatus_a,count(*) as ct
from event_trial,ch_proposal_trial,staff
where event_trial.eventtrial_id=ch_proposal_trial.eventtrial_id
and event_trial.staff_id_a=staff.staff_id_a
and event_trial.actualstartdate>='2004-6-8 0:00:00'
and event_trial.actualstartdate<='2004-6-8 23:59:59'
group by ch_proposal_trial.id_achievestatus_a
) a on c_achievestatus.id_achievestatus_a=a.id_achievestatus_a
order by c_achievestatus.id_achievestatus_a
efei 2004-06-08
  • 打赏
  • 举报
回复
是的,怎么把最重要的SQL语句给省略了呢
huangjianyou 2004-06-08
  • 打赏
  • 举报
回复
重要的才省略,你真是的。
你应该把SQL语句和在查询分析器里执行的语句贴出来,这样人家才能帮你解决啊。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧