作爲SQL和VBS編程的初學者,我遇到以下問題。我想確定一個SQL表中的行數,將該值保存到VBS變量中,然後在for循環中使用它。 我想出了下面的代碼,但很明顯,我在這裏失去了一些東西,我基本卡住了。將SQL語句中的值保存到VBS變量中
num_rows = "SELECT COUNT(id) FROM recepti_sol"
For y = 0 To "num_rows"
請幫我完成代碼。 感謝您的時間和精力!
作爲SQL和VBS編程的初學者,我遇到以下問題。我想確定一個SQL表中的行數,將該值保存到VBS變量中,然後在for循環中使用它。 我想出了下面的代碼,但很明顯,我在這裏失去了一些東西,我基本卡住了。將SQL語句中的值保存到VBS變量中
num_rows = "SELECT COUNT(id) FROM recepti_sol"
For y = 0 To "num_rows"
請幫我完成代碼。 感謝您的時間和精力!
編輯 這是一個SQL服務器
把它作爲最簡單的運行,但不使其生產,因爲它有明文密碼的例子。反正它可以根據你的SQLSERVER配置失敗,但你可以用diferent連接字符串修復,所以,再一次,瞭解他們
set conn= CreateObject("ADODB.Connection")
conn.Open "Driver={SQLServer};Server=Your_Server_Name;Database=Your_Database_Name;Uid=sa;Pwd=saPassword;"
set rs = CreateObject("ADODB.recordset")
rs.Open "SELECT COUNT(id) as num_rows FROM recepti_sol", conn
For y = 1 To rs("num_rows")
...
...
next
rs.close
conn.close
set rs = nothing
set conn = nothing
你的循環將失敗: 0 .. num_rows == num_rows + 1. –
將無法做什麼????? –
假設num_rows == 2:您的循環將重複3次:0,1,2 –
見my answer to your other question - 使用.GetRows()Recordset對象和工作方法與返回的二維arry。
這是幾天前自己的問題的複本:http://stackoverflow.com/questions/13688148/vbs-determine-number-of-records-in-sql-table – Andrew