0
Iam運行傳統的VB6應用程序。我試圖執行一個存儲過程,通過SQL-SERVER中的一堆表,抓取數據並將其放入SQL-SERVER中的表中。我是否需要聲明並設置新的記錄集?從vb6在sql-server中執行存儲過程?
dim strSQL as string
strSQL = "Exec FillEmptyTable @blah = "& blah
這似乎是我不需要的記錄,但這並不執行
現在,當我設置一個新的記錄,然後它
dim rs as adodb.recordset
set rs = new adodb.recordset
dim strSQL as string
strSQL = "Exec FillEmptyTable @blah = "&blah
rs.open strSQL, Connection
這是正確的?我不知道爲什麼我只需要在SQL-SERVER上創建一個記錄集就可以了。
你真的需要參數化這個,而不是執行一個字符串。在VB6中有數百個例子。 –
正如你可以從你的例子看到的那樣,'rs.open strSQL,Connection'是在[sql-server]上執行查詢的行。在第一個例子中,你只需構造要執行的字符串,但字符串實際上並未發送到服務器。記錄集是必要的,因爲[vb6]實際上不知道數據是否會被返回。但是你可以用它來檢查查詢是否按預期執行。如果一切正常,則讓存儲過程返回一個「ok」,如果發生錯誤,則返回一個錯誤代碼。 – Ralph