1

I already have this coded out (more or less) in Java for Linux OS, however I am not familiar enough with the syntax of .net to translate my Java code into VB2010 code... So I was hoping someone here could help me out with this.

The issue:

I am trying (as the title says) to create folders on my windows box based on the entries in our customer database (we have a lot, so i'm not about to do them by hand lol).

I want to use VB.net to create a program that will loop a query through the SQL database, take the customerIDs of our clients, and create folders for each of those names in a specific directory.

My Java code that I need to translate:

//Initializers
Statement stmt;
ResultSet rs;

rs = stmt.executeQuery("SELECT CustomerID FROM customerlist;");

System.out.println("Creating customer user database:\n");

while(rs.next()){
    String str1 = rs.getString("CustomerID");
        try {
            // Create user & Home Directory
                Process p = Runtime.getRuntime().exec("sudo useradd " + str1  + " --shell /bin/sh -m " );
                BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));

            System.out.println("Created user: \t" + str1);

            String line = null;
            while ((line = in.readLine()) != null) {
                System.out.println(line);
            }
            Thread.sleep(100);
        } catch (IOException e) {
            e.printStackTrace();
        }

}

I need the vb code to do the same thing, but only create the folder, and for the windows OS.

Important notes:

  • I am using Imports MySql.Data.MySqlClient to make the db connection.
  • it is a REMOTE mysql server, not a local one (don't know if this note was needed).
  • We have close to 6,000 clients... (thus why i'm NOT doing it by hand!)
  • The boss says to switch from Java to VB, so no arguing the point of sticking to Java please..

Seeing as how people are thinking that i'm asking for a handout for the entire program... here is what I have so far:

Private Sub ButtonLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLogin.Click
    conn = New MySqlConnection()
    conn.ConnectionString = "server=xxx" & ";" & "user id=xxx" & ";" & "password=xxx" & ";" & "database=companysqldb"
    Try
        conn.Open()
        MessageBox.Show("Connection Opened Successfully")

        'while loop pseudo
        '------------------
        'set query string to "SELECT CustomerID FROM customerlist;"
        'while looping through query
            'set stringvar to current loop's CustomerID

            'Create directory
            If(Not System.IO.Directory.Exists("c:\pub\users\" & stringvar)) Then System.IO.Directory.CreateDirectory("c:\pub\users\" & stringvar)
            RichTextBox.AppendText(vbCrLf & "Added folder: " & stringvar)
            RichTextBox.ScrollToCaret()

        'end while loop

    Catch myerror As MySqlException
        MessageBox.Show("Error Connecting to Database: " & myerror.Message)
    End Try

End Sub

As you can see, I have most of it already written out, however my primary difficulty is the syntax of the while loop and the SQL Query.

0

2 Answers 2

2

SOLUTION:

Well, after several hours of scouring the net, I finally managed to find the solution I was looking for.

changed:

    conn.Open()
    MessageBox.Show("Connection Opened Successfully")

    'while loop pseudo
    '------------------
    'set query string to "SELECT CustomerID FROM customerlist;"
    'while looping through query
        'set stringvar to current loop's CustomerID

        'Create directory
        If(Not System.IO.Directory.Exists("c:\pub\users\" & stringvar)) Then System.IO.Directory.CreateDirectory("c:\pub\users\" & stringvar)
        RichTextBox.AppendText(vbCrLf & "Added folder: " & stringvar)
        RichTextBox.ScrollToCaret()

    'end while loop

to

conn.Open()
MessageBox.Show("Connection Opened Successfully")
Dim command As New MySqlCommand("SELECT CustomerID from customerlist", conn)
        Dim stringvar As String
        Dim count As Integer = 1

        myReader = command.ExecuteReader
        While (myReader.Read())
            stringvar = myReader(0).ToString

            If (Not System.IO.Directory.Exists("c:\pub\users\" & stringvar)) Then
                System.IO.Directory.CreateDirectory("c:\pub\users\" & stringvar)
                TextBox.AppendText(vbCrLf & count & ":   Created folder for CustomerID: " & stringvar)
                TextBox.ScrollToCaret()
            Else
                TextBox.AppendText(vbCrLf & count & ":   Could *NOT* creat folder for CustomerID: " & stringvar)
                TextBox.ScrollToCaret()
            End If

            count = count + 1
        End While

Produced:

CustomerID: 11112
CustomerID: 11113
CustomerID: 11114
0
 cmd.Connection = conn
        conn.Open()

        Dim cnt As Integer
        Dim CustCode As String


        cmd.CommandText = "Select * from Checks"

        rd = cmd.ExecuteReader

        While rd.Read()
            cnt = cnt + 1
        End While

        If cnt = 0 Then
            cnt = cnt + 1
        Else
            cnt = cnt + 1
        End If
        CustCode = "Cust_00" & cnt
        TextBox1.Text = CustCode
        rd.Close()

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.