The following code is my attempt to dynamically set the size of an array and then to dynamically assign values to it. However it is incomplete and I could do with some assistance.

The following code is my attempt to dynamically set the size of an array and then to dynamically assign values to it. However it is incomplete and I could do with some assistance.

Any feedback would be appreciated.

If someone could complete the missing links in the code I would be very thankful.

Dim MyArray() As Integer
Dim nCountOfRecords As Integer
Dim I As Integer

Dim cnn As String = (ConfigurationSettings.AppSettings("SomeWebSite"))
    Dim objConnection as new sqlConnection(cnn)
     Dim objCommand as new SqlCommand("procThatCountsTheIDs", ObjConnection)
    objCommand.CommandType = CommandType.StoredProcedure
     
     Dim ObjCountRecords as new SqlParameter("@ObjCountRecords",SqlDbType.int)
     ObjCommand.Parameters.Add(ObjCountRecords)
     ObjCountRecords.Direction=ParameterDirection.Output 'Gets the value that will be the array size

Try
     objConnection.Open()
     ObjCommand.ExecuteNonQuery()
     objConnection.Close()
     Catch ex as Exception
     Response.Write("Error:" & ex.Message & "<br/>")
     End Try

' Assign the number of records to the 'nCountOfRecords' variable

nCountOfRecords =(ObjCommand.Parameters("@ObjCountRecords").Value)   'Should this be... (ObjCommand.Parameters("@ObjCountRecords").Value)-1.....?
    ReDim MyArray(nCountOfRecords)   ' re-dimension as needed

'It seems to me, the following code dynamically sets the size of the array so do I need to do another DbQuery and then assign the actual IDs to the  array?
    ' Assignment
    For I = 1 To nCountOfRecords
    MyArray(I) = I '<- this will a assign I to MyArray
    Next

'So now I need some code that assigns the ID to the newly created array

'So code here.............


'Now display ....say....MyArray(4) and MyArray(22)
'Just use a couple of labels or something.

Cheers

PG
pgilfeatherAsked:
Who is Participating?
 
IceColdasConnect With a Mentor Commented:
declare at first MyArray as an array of 50 elements (or whatever u want)
read every value in MyArray when u execute the DBquerry, and if the size of the array must grow, then allocate another 50 elements to it. And so on.
0
 
dimitry_dimitryCommented:
Use array.createinstance to create an array of specified type and length.
use array.copy to copy elements from array 1 to array 2, specifying starting and ending bounds.
these routines can be used to implement array resizing.
You can also use ReDim statement
0
 
pgilfeatherAuthor Commented:
dimitry_dimitry

No point using English....Im using VB.NET

Cheers

PG
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
dimitry_dimitryCommented:
And what?
VB.NET does not allow dynamic array creation methods that I posted?
0
 
pgilfeatherAuthor Commented:
dimitry_dimitry,

Please dont mistake my short response as sarcasm, because I genuinly wasnt trying to be sarcastic.

The reason for such a short response was simply to convey that I was looking for some actual VB.NET code. It clearly says this in my question.

Sorry if I offended you, it was never my intention.

Thanks for trying to help, I really do appreciate it.

Kind Regards

PG
0
 
IceColdasCommented:
try this one
Dim MyArray() As Integer
...
ReDim Preserve  MyArray(nCountOfRecords)
0
 
pgilfeatherAuthor Commented:
IceColdas

So how does this fit into my question.

Cheers

PG
0
 
pgilfeatherAuthor Commented:
Thanks
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.