0
我有一個將文件內容插入Oracle DB的子文件。 對於只有一個文件,一切都很好,但對於多個文件,過程的參數保留舊的值,但也是新的值;所以而不是4個參數,在第二個文件我有8個參數。VB.NET - 清除傳遞給Oracle存儲過程的參數
下面是代碼的示例:通過「文件」文件夾
For Each oFile As String In Directory.GetFiles("D:\files")
Dim header() As String = IO.File.ReadAllLines(oFile)
If header(0) = "<delivery_note>" Then
XML_File = XmlReader.Create(oFile, New XmlReaderSettings())
DataSet.ReadXml(XML_File)
For i As Integer = 0 To DataSet.Tables(0).Rows.Count - 1
cmd.Parameters.Add("p_delnote_id", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters("p_delnote_id").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(0))
cmd.Parameters.Add("p_order_id", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters("p_order_id").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(1))
cmd.Parameters.Add("p_product_id", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters("p_product_id").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(2))
cmd.Parameters.Add("p_quantity", OracleDbType.Int64).Direction = ParameterDirection.Input
cmd.Parameters("p_quantity").Value = Convert.ToInt32(DataSet.Tables(0).Rows(i).Item(3))
cmd.Parameters.Add("p_confirm", OracleDbType.Int16).Direction = ParameterDirection.Output
cmd.CommandText = "pkg_erp.insert_delnote"
cmd.CommandType = CommandType.StoredProcedure
temp = cmd.ExecuteNonQuery()
result = cmd.Parameters("p_confirm").Value.ToString()
...
Next
End If
Next
在第一迭代時,它產生的4個參數,過程「insert_delnote」的列表。 在第二次迭代時,它會添加另外4個參數,而不是僅覆蓋初始4個參數的值。
任何人都可以告訴我如何通過「文件」目錄每次迭代只有4個參數?
謝謝