Solved

VB Code into VB.net confusion

Posted on 2009-05-08
2
147 Views
Last Modified: 2012-05-06
Hello experts,
I am in the process of rewriting a small VB 6.0 application into VB.net and I really dont understand the below code.

In the code below how can I do this part in VB.net Please help

Do While Not LocalRec.EOF
                If EroleIDs.Length > 0 Then EroleIDs += ","
                EroleIDs = +"'" + Trim(Str(LocalRec(0))) + "'"
                ERolesRec.MoveNext()
            Loop




LocalRec = New ADODB.Recordset
        ERolesRec = New ADODB.Recordset
        If LocalRec.State > 0 Then LocalRec.Close()
        LocalRec.Open("Select * from JobFilters where ID='" + JobID + "'", DB(DBOffset), adOpenForwardOnly, adLockOptimistic)
 
 
ERolesRec.Open("select id FROM TypeofTypes where typeid=73 and value like '*%'", db(NumConnections), adOpenForwardOnly, adLockOptimistic)
        EroleIDs = ""
        If Not ERolesRec.EOF Then
            Do While Not LocalRec.EOF
                If EroleIDs.Length > 0 Then EroleIDs += ","
                EroleIDs = +"'" + Trim(Str(LocalRec(0))) + "'"
                ERolesRec.MoveNext()
            Loop
        End If

Open in new window

0
Comment
Question by:rowmark
2 Comments
 
LVL 16

Expert Comment

by:ToddBeaulieu
ID: 24337394
EroleIDs appears to be a string variable. The intent of this loop is to build a comma delimitted list of id's .

So, the first recordset is a list of job filters for the current job (JobID variable).

Next it fetches a recordset from TypeofTypes that meet the typeif and value criteria shown.

It then clears the target list string and loops through all the rows in the job filters recordset. Before it does this, though it checks to make sure that Types were found via the EOF property. If there are some, it will enumerate the filters and for each one found, append the first column in the filter recordset. Since "*" is used, it's not possible to know what that column is from the given code. It proably ought to be tweaked to return the first column only, unless the others are used elsewhere now shown.

This code doesn't really look correct, though. If you notice the "do while" is enumerating the list of filters, but the "movenext" is advancing the TypeofTypes recordset. I can't see how this loop would EVER exit.
0
 
LVL 14

Accepted Solution

by:
raja_ind82 earned 500 total points
ID: 24342703
i hope you got clear about the functionality. see the previous post.
Attached sample code in vb.net

Cheers,
M.Raja


Dim connString As String = ConfigurationManager.ConnectionStrings("ORACLE_LOCAL_DB").ConnectionString
        
Dim myConnection As New OleDb.OleDbConnection(connString)
 
Dim strQuery As String = "Select * from JobFilters where ID='" & JobID & "'"
  
 Dim strQuery2 As String = "select id FROM TypeofTypes where typeid=73 and value like '*%'"  
 
Dim myCommand As New OleDb.OleDbCommand(strQuery, myConnection)
Dim myCommand2 As New OleDb.OleDbCommand(strQuery2, myConnection)
 
 
 
myConnection.Open()
 
Dim myDataReader As OleDb.OleDbDataReader
Dim myDataReader2 As OleDb.OleDbDataReader
 
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
myDataReader2 = myCommand2.ExecuteReader(CommandBehavior.CloseConnection)
					   
if myDataReader2.Read() then
 
Do While (myDataReader.Read())
 
 If EroleIDs.Length > 0 Then EroleIDs &= ","
	EroleIDs &= "'" & (myDataReader.Item(0).tostring + "'"
 
Loop
 
end if
 

Open in new window

0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

More often than not, we developers are confronted with a need: a need to make some kind of magic happen via code. Whether it is for a client, for the boss, or for our own personal projects, the need must be satisfied. Most of the time, the Framework…
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question