LIHONGGEN(李洪根)先生,請教,關於VB中調用SQL數據庫存儲過程的問題,謝謝您的幫助


CN.ConnectionString = "Provider=sqloledb;Data Source=SYSTEM;Initial Catalog=tagj_mis;User Id=sa;Password=1;"
    CN.Open

    rs.CursorLocation = adUseClient
    rs.CursorType = adOpenDynamic
    rs.LockType = adLockOptimistic
    Set rs = CN.Execute("EXEC GETLINE_INFO")
    Set TDBCombo1.RowSource = rs
     
     TDBCombo1.ReBind
    TDBCombo1.Refresh
為何此處調用豐儲過程,既不顯示錯誤,也不顯示數據,但是MSGBOX RS.FIELDS("LINDID")卻有數據存在,謝謝您了

8 个解决方案

#1


如果用ADO控件,執行存儲過程卻可以,RS記錄集卻不行,為何,請幫幫忙

#2


執行存儲過程,你可以使用command對象來執行

#3




  Set DBCombo1.DataSource = Rs
DBCombo1.DataField = Rs.Fields(1).Name
DBCombo1.ReFill

#4


MSGBOX RS.FIELDS("LINDID")有數據存在

證明執行存儲過程沒問題

就是你綁定的問題了

#5


在存儲過程中加一句  set nocount on

#6


確實如此,我在一個窗體上放了一個MSHFLEXGRID控件與一個TRUE DBCOMBO1控件(這是一個COMPONENTONE 公司的數據綁定控件,功能比較強大),問題也就是出在這里了,如果記錄集是一個存儲過程,奇怪的是該控件就是不顯示,但是如果ADODC控件中設定數據源類型為存儲過程,再將該ADODC控件綁定到TRUE DBCOMBO1控件上,數據卻可以顯示,我真有點不明白了....,另外,這個控件沒有REFILL方法,不好意思,因為我要用這個控件做一個下列列表,現在就是沒有解決這個問題,不知道有沒有什么辦法?再次感謝您的幫助

#7


在存儲過程中加上

set nocount on

#8


首先感謝李洪根先生,但是即使加上這個設置,(不顯示所影響行的信息),該問題仍然無法解決,總之一句話,用ADO控件直接設置其數據源為某個存儲過程,可以顯示在TDBCOMBO控件下.但如果以RS記錄集的形式,即RS=CN.EXECUTE("EXEC GETLINE_INFO"),再賦值給SET TDBCOMBO1.ROWSOURCE=RS,該控件就是不顯示數據,一片空白,我現在走彎路了,另新建一個表,在程序中執行單純的存儲過程,更新該表,然后再用RS.OPEN "SELECT * XXX",CN,....,然后再將該記錄集SET TDBCOMBO1.RESOURCE=RS,這樣雖然麻煩,可是,我也是沒有辦法了,不管怎樣,謝謝,給分

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com