SQL SERVER2005+VB的疑问(急,在线等)

来源:百度知道 编辑:UC知道 时间:2024/05/23 14:16:24
我执行一个SQL2000+VB的管理系统,现在用SQL2005+VB连接,执行时有一个提示
“此查询使用的不是ANSI外部联接运算符("*=" "=*")极力建议使用ANSI外部联接运算符(LEFT OUTER JOIN、RIGHT OUTER JOIN)重写些查询”
请问各位,我该怎么解决呢?
附:
Private Sub Refresh_Report()
Dim TmpDate As String

TmpDate = ComboY.Text
If Val(ComboM.Text) < 10 Then
TmpDate = TmpDate + "-0" + ComboM.Text
Else
TmpDate = TmpDate + "-" + ComboM.Text
End If
Adodc1.ConnectionString = conn
Adodc1.RecordSource = "SELECT c.ContractId As 合同编号, Sum(c2.amount) As 费用总计," _
+ "Sum(i.amount) As 收帐总计,Sum(i.amount) - Sum(c2.amount) as 利润" _
+ " FROM Contract c, CostView c2, IncomeView i" _
+ " WHERE c.ContractId *= c2.ContractId" _
+ " And c.ContractId *= i.ContractId" _
+ " And c.SignDate LIKE '" + TmpDate _
+ "%' GROUP BY c.Co

把你的procudure里面的*=都替换成 left out join
把所有的=*都替换成 right out join就好了啊
这样写符合ansi标准
以后做数据库升级也简单些

使用存储过程 sp_dbcmptlevel 将当前数据库的兼容级别设置为 80 或更低