2013-04-14 172 views
1

我需要逐行閱讀表中的一列,然後我需要存儲這個然後調用過程,以使用vb.net插入數據到不同的列。逐行閱讀vb.net

我已經創建了數據庫連接,我知道如何調用過程 ,但我不確定如何在循環中讀取,然後將其分配給變量以在存儲過程中調用它。

Dim drDocs As SqlClient.SqlDataReader 
    Dim cmdDocs As SqlClient.SqlCommand 
    Dim Doc As Long 
    Dim l As Long 
    Using conn As New SqlConnection(DBpath) 

     cmdDocs = New SqlClient.SqlCommand("Select (RecordID) from DocID", conn) 
     drDocs = cmdDocs.ExecuteReader 

     Do While drDocs.Read 
      'need it read each row in that field and hold value' 

     Loop 
     drDocs.Close() 
     cmdDocs.Dispose() 



     If Doc Then 


      cmdDocs = New SqlClient.SqlCommand("Insert_Doc", conn) 

      cmdDocs.CommandType = CommandType.StoredProcedure 

      cmdDocs.Parameters.Add("path", SqlDbType.NVarChar).Value =need to put hold value from reading that cloumn row by row 


      End If 
     End If 
+0

'從DocID'中選擇Max(RecordID)將始終只返回1行。你知道嗎? –

+0

那麼如何讓它通過行循環來獲取值然後使用它來存儲,以便呼叫過程可以調用它 – kenmru

回答

0

您提供的代碼實際上現在可用。正如Juergen D所說,像Max(),min()和使用Limit這樣的sql函數根據條件只會返回1 /特定數量的行。

如果我可以,只是如果你想在遞減格式使用SQL命令

"select `RecordID` from DocID asc;" 

,使用說明,而不是

...現在進一步閱讀,我知道你想要做什麼是存儲結果,然後通過它循環,以便你可以做一個SQL命令,它是正確的?然後你可以做的是將SQL結果傳遞給一個容器(我使用datagridviews),然後通過容器循環。