1

我需要在表的列中逐行读取,然后我需要存储它,然后调用过程以使用 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
4

1 回答 1

0

您提供的代码现在确实有效。正如 Juergen D 所说,像 Max()、min() 和使用 Limit 这样的 sql 函数只会根据它们的条件返回 1/特定数量的行。

如果可以,请使用此 SQL 命令

    "select `RecordID` from DocID asc;"

如果您希望它采用降序格式,请改用 desc

...现在进一步阅读,我意识到您想要做的是存储结果,然后再次循环通过它,以便您可以使用它执行 sql 命令,对吗?然后您可以做的是将 SQL 结果传递给容器(我使用 datagridviews),然后循环通过容器。

于 2013-04-15T03:19:41.633 回答