本帖最后由 hewei435 于 2010-03-30 00:12:02 编辑

解决方案 »

  1.   

    ADO连接的Provider 要用SQL Native Client才能支持到新的功能.
      

  2.   

    1.perfectaction谢谢你的回答,当然用存储过程可以实现这个功能。
    但是,我更想知道为什么用ADO无法执行语句。2.Garnett_KG
    谢谢你的回答,我根据你的回答解决了问题。
    即使用SQL Native Client来实现新功能。
    新的代码如下
    --------------------------------------------------
    Private Sub CommandButton1_Click()
    Dim Cnn As New ADODB.Connection
    Cnn.ConnectionString = "Provider=SQLNCLI10;" _
             & "Server=YOUR-F37765D2AF\SQLEXPRESS;" _
             & "Database=収率final;" _
             & "User ID=sa;" _
             & "Password =sa123;" _
             & "DataTypeCompatibility=80;"
    Cnn.Open
    tempstr = "MERGE into tb_340_infof as t Using(Values('0204C01 ')) as s" _
    & "(soshiID)on(t. soshiID=s.soshiID) When Matched Then update set t.soshiID=s.soshiID" _
    & " When Not Matched Then INSERT values(s.soshiID);"
    Cnn.Execute tempstr    
    End Sub
    --------------------------------------------------3.feixianxxx
    关于在ADO中使用SQL Native Client来实现SQL sever 2008的新功能可以参见微软的网页。
    http://msdn.microsoft.com/zh-cn/library/ms130978.aspx
    SQL Native Client详细介绍
    http://msdn.microsoft.com/zh-cn/library/ms130892.aspx