mysql - 需要帮助在 VB.net 中编写一个循环以根据远程 sql db 中的用户名在 Windows 中创建文件夹

标签 mysql visual-studio-2010 while-loop

我已经在 Linux 操作系统的 Java 中(或多或少)编写了这个代码,但是我对 .net 的语法还不够熟悉,无法将我的 Java 代码转换为 VB2010 代码...所以我希望这里有人可以帮我解决这个问题。

问题:

我正在尝试(如标题所示)根据我们客户数据库中的条目在我的 Windows 框上创建文件夹(我们有很多,所以我不打算手动创建它们,哈哈)。

我想使用 VB.net 创建一个程序,该程序将通过 SQL 数据库循环查询,获取我们客户的客户 ID,并在特定目录中为每个名称创建文件夹。

我需要翻译的 Java 代码:

//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();
        }

}

我需要 vb 代码来做同样的事情,但只创建文件夹,并且适用于 Windows 操作系统。

重要说明:

  • 我正在使用 Imports MySql.Data.MySqlClient 建立数据库连接。
  • 它是一个 REMOTE mysql 服务器,而不是本地服务器(不知道是否需要这个注释)。
  • 我们有将近 6,000 名客户...(这就是为什么我不亲自动手!)
  • 老板说要从 Java 切换到 VB,所以请不要争论坚持使用 Java 的意义..

鉴于人们是如何认为我要为整个程序索取讲义的……这是我目前所拥有的:

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

如您所见,我已经写出了大部分内容,但我的主要困难是 while 循环和 SQL 查询的语法。

最佳答案

解决方案:

嗯,经过几个小时的网上搜索,我终于找到了我要找的解决方案。

改变了:

    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

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

制作:

CustomerID: 11112
CustomerID: 11113
CustomerID: 11114

关于mysql - 需要帮助在 VB.net 中编写一个循环以根据远程 sql db 中的用户名在 Windows 中创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822398/

相关文章:

c++ - 有没有一些工具可以删除MFC项目中的冗余资源?

c - 如何按顺序生产-400、-200、-400

php - 如何使用 php 和 codeigniter 在 mysql 中导入 CSV 文件?

php - 打开时出现 WAMP 服务器 2 错误

mysql - Laravel, Eloquent 多对多,数据透视表中的多对多

visual-studio-2010 - 将自定义编辑器添加到 Visual Studio 编辑器列表

c++ - 确定库的地址内存

Java:ArrayLists w/Scanner:第一个元素不打印

php - 我的php代码无法选择mysql auto_increment值

mysql - SQL 查询左连接问题