繁体   English   中英

在C#中从MySql读取特定行

[英]Reading specific row from MySql in C#

所以我对整体编程还是比较陌生的,但是我很快就学到了,所以我现在停留在的地方是我需要从SQL表读取,但是我只想通过数据库中的键读取一行。

我在这里准备的代码可以完成工作,但是我很确定您可以做得更顺利,因为这不是很干净。

我该如何以另一种更简单的方式做到这一点?

我想要的结果是将所有行添加到它们自己的字符串中,以便我可以更轻松地将它们用于程序中的标签和其他信息。

    private static MySqlConnection dbConn;

    static string MySQLConnectionString = "Server='ip';Port='port';Database='name';User='user';Password='Password';SslMode='none'";

    public static void InitializeDB()
    {
        dbConn = new MySqlConnection(MySQLConnectionString);

        string commandSuperuser = "SELECT * FROM sl WHERE User=(1)";
        string commandUserOne = "SELECT * FROM sl WHERE User=(1)";
        string commandUserTwo = "SELECT * FROM sl WHERE User=(2)";
        string commandUserThree = "SELECT * FROM sl WHERE User=(3)";
        string commandUserFour = "SELECT * FROM sl WHERE User=(4)";
        string commandUserFive = "SELECT * FROM sl WHERE User=(5)";
        string commandUserSix = "SELECT * FROM sl WHERE User=(6)";
        string commandUserSeven = "SELECT * FROM sl WHERE User=(7)";
        string commandUserEight = "SELECT * FROM sl WHERE User=(8)";
        MySqlCommand cmd1 = new MySqlCommand(commandSuperuser, dbConn);
        dbConn.Open();

        MySqlDataReader reader1 = cmd1.ExecuteReader();
        while (reader1.Read())
        {
            UserSuperuserName = reader1["Name"].ToString() + " " + reader1["Lastname"].ToString();
            UserSuperuserENumber = reader1["ENumber"].ToString();
            UserSuperuserNumber = reader1["Number"].ToString();
            UserSuperuserNickname = reader1["Nickname"].ToString();
            UserSuperuserMail = reader1["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd2 = new MySqlCommand(commandUserOne, dbConn);
        dbConn.Open();

        MySqlDataReader reader2 = cmd2.ExecuteReader();
        while (reader2.Read())
        {
            UserOneName = reader2["Name"].ToString() + " " + reader2["Lastname"].ToString();
            UserOneENumber = reader2["ENumber"].ToString();
            UserOneNumber = reader2["Number"].ToString();
            UserOneNickname = reader2["Nickname"].ToString();
            UserOneMail = reader2["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd3 = new MySqlCommand(commandUserTwo, dbConn);
        dbConn.Open();

        MySqlDataReader reader3 = cmd3.ExecuteReader();
        while (reader3.Read())
        {
            UserTwoName = reader3["Name"].ToString() + " " + reader3["Lastname"].ToString();
            UserTwoENumber = reader3["ENumber"].ToString();
            UserTwoNumber = reader3["Number"].ToString();
            UserTwoNickname = reader3["Nickname"].ToString();
            UserTwoMail = reader3["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd4 = new MySqlCommand(commandUserThree, dbConn);
        dbConn.Open();

        MySqlDataReader reader4 = cmd4.ExecuteReader();
        while (reader4.Read())
        {
            UserThreeName = reader4["Name"].ToString() + " " + reader4["Lastname"].ToString();
            UserThreeENumber = reader4["ENumber"].ToString();
            UserThreeNumber = reader4["Number"].ToString();
            UserThreeNickname = reader4["Nickname"].ToString();
            UserThreeMail = reader4["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd5 = new MySqlCommand(commandUserFour, dbConn);
        dbConn.Open();

        MySqlDataReader reader5 = cmd5.ExecuteReader();
        while (reader5.Read())
        {
            UserFourName = reader5["Name"].ToString() + " " + reader5["Lastname"].ToString();
            UserFourENumber = reader5["ENumber"].ToString();
            UserFourNumber = reader5["Number"].ToString();
            UserFourNickname = reader5["Nickname"].ToString();
            UserFourMail = reader5["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd6 = new MySqlCommand(commandUserFive, dbConn);
        dbConn.Open();

        MySqlDataReader reader6 = cmd6.ExecuteReader();
        while (reader6.Read())
        {
            UserFiveName = reader6["Name"].ToString() + " " + reader6["Lastname"].ToString();
            UserFiveENumber = reader6["ENumber"].ToString();
            UserFiveNumber = reader6["Number"].ToString();
            UserFiveNickname = reader6["Nickname"].ToString();
            UserFiveMail = reader6["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd7 = new MySqlCommand(commandUserSix, dbConn);
        dbConn.Open();

        MySqlDataReader reader7 = cmd7.ExecuteReader();
        while (reader7.Read())
        {
            UserSixName = reader7["Name"].ToString() + " " + reader7["Lastname"].ToString();
            UserSixENumber = reader7["ENumber"].ToString();
            UserSixNumber = reader7["Number"].ToString();
            UserSixNickname = reader7["Nickname"].ToString();
            UserSixMail = reader7["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd8 = new MySqlCommand(commandUserSeven, dbConn);
        dbConn.Open();

        MySqlDataReader reader8 = cmd8.ExecuteReader();
        while (reader8.Read())
        {
            UserSevenName = reader8["Name"].ToString() + " " + reader8["Lastname"].ToString();
            UserSevenENumber = reader8["ENumber"].ToString();
            UserSevenNumber = reader8["Number"].ToString();
            UserSevenNickname = reader8["Nickname"].ToString();
            UserSevenMail = reader8["Email"].ToString();

        }
        dbConn.Close();


        MySqlCommand cmd9 = new MySqlCommand(commandUserEight, dbConn);
        dbConn.Open();

        MySqlDataReader reader9 = cmd9.ExecuteReader();
        while (reader9.Read())
        {
            UserEightName = reader9["Name"].ToString() + " " + reader9["Lastname"].ToString();
            UserEightENumber = reader9["ENumber"].ToString();
            UserEightNumber = reader9["Number"].ToString();
            UserEightNickname = reader9["Nickname"].ToString();
            UserEightMail = reader9["Email"].ToString();

        }
        dbConn.Close();

    }

如果有人有任何提示/示例,那将很棒。

您可以使用MysqlDataAdapter和DataTable并将值保存到String数组。

public static void InitializeDB()
    {
        dbConn = new MySqlConnection(MySQLConnectionString);

        dbConn.Open();
        try
        {
            using (MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM S1", dbConn))
            {
                DataTable dt = new DataTable();
                da.Fill(dt);
                int a = 0;
                if (dt.Rows.Count > 0)
                {
                    string[] UserName = new string[dt.Rows.Count];
                    string[] UserENumber = new string[dt.Rows.Count];
                    string[] UserNumber = new string[dt.Rows.Count];
                    string[] UserNickname = new string[dt.Rows.Count];
                    string[] UserMail = new string[dt.Rows.Count];

                    for (a = 0; a < dt.Rows.Count; a++)
                    {
                        UserName[a] = dt.Rows[a]["Name"].ToString();
                        UserENumber[a] = dt.Rows[a]["Enumber"].ToString();
                        UserNumber[a] = dt.Rows[a]["Number"].ToString();
                        UserNickname[a] = dt.Rows[a]["Nickname"].ToString();
                        UserMail[a] = dt.Rows[a]["Mail"].ToString();
                    }

                }

            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        finally
        {
            dbConn.Close();
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM