如何改变结果

时间:2015-12-11 18:01:36

标签: c#

我尝试为我的公司创建messeneger,我们有DNS(每台PC都有静态IP和PC名称)。所有工作都是通过insert,select(mysql)。我想发送组消息,我选择PC的名称和IP地址

这是计算机信息的代码

 {
        IPHostEntry he;
        string myip = "";
        he = Dns.GetHostEntry(Dns.GetHostName());
        foreach (IPAddress ip in he.AddressList)
        {
            if (ip.AddressFamily == AddressFamily.InterNetwork)
            {
                myip = ip.ToString();
            }


        }
        label1.Text = myip;
    }

    string pc = System.Environment.MachineName;

这里我想选择计算机组(skupina)并插入消息(nrp)

 using (MySqlConnection cnn = new MySqlConnection("Server=10.7.18.35;Database=OitDB;Uid=martin;Pwd=;"))
        {
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT namepc FROM skupina where nazovskup= 'mojask' ", cnn); 
            DataSet ds = new DataSet();
            da.Fill(ds, "skupina");

            List<string> skName = new List<string>();
            foreach (DataRow row in ds.Tables["skupina"].Rows)
            {

                skName.Add(row["namepc"].ToString());
                string constring = "Server=10.7.18.35;Database=OitDB;Uid=martin;Pwd=;";
                var Query = "INSERT INTO OitDB.skup(uzivatel)VALUES(@name)";
                MySqlConnection conDatabase = new MySqlConnection(constring);
                MySqlCommand cmdDatabase = new MySqlCommand(Query, conDatabase);
                cmdDatabase.Parameters.Add("@name", MySqlDbType.VarChar).Value = string.Join("",skName.ToArray());
                MySqlDataReader myReader;


                try
                {
                    conDatabase.Open();
                    myReader = cmdDatabase.ExecuteReader();
                    MessageBox.Show("Správa odoslaná!");
                    while (myReader.Read())
                    {

                    }

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

                }
            }

        }
    }

但现在我的结果是mysql:

row1-message1-pc1 
row2-message1-pc1,pc2 
row3-message1-pc1,pc2,pc3

and I want to:

row1-message1-pc1
row2-message1-pc2
row3-message1-pc3

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这是功能代码

using (MySqlConnection cnn = new MySqlConnection("Server=;Database=OitDB;Uid=martin;Pwd=;"))
    {
        MySqlDataAdapter da = new MySqlDataAdapter("SELECT namepc FROM skupina where nazovskup= 'mojask' ", cnn);
        DataSet ds = new DataSet();
        da.Fill(ds, "skupina");

        List<string> skName = new List<string>();
        foreach (DataRow row in ds.Tables["skupina"].Rows)
        {

            skName.Add(row["namepc"].ToString());
            string constring = "Server=;Database=OitDB;Uid=martin;Pwd=;";
            var Query = "INSERT INTO OitDB.nrp(id,pc,ip,komu,datum,predmet,sprava,skupina)VALUES(@id,@pc,@ip,@komu,@cas,@predmet,@sprava,@name)";
            MySqlConnection conDatabase = new MySqlConnection(constring);
            MySqlCommand cmdDatabase = new MySqlCommand(Query, conDatabase);

            cmdDatabase.Parameters.AddWithValue("@id", idtxt.Text);
            cmdDatabase.Parameters.AddWithValue("@pc", pc);
            cmdDatabase.Parameters.AddWithValue("@ip", label1.Text);
            cmdDatabase.Parameters.AddWithValue("@komu", comboBox1.Text);
            cmdDatabase.Parameters.AddWithValue("@cas", cas);
            cmdDatabase.Parameters.AddWithValue("@predmet", textBox1.Text);
            cmdDatabase.Parameters.AddWithValue("@sprava", pisat.Text);
            cmdDatabase.Parameters.Add("@name", MySqlDbType.VarChar).Value = row["namepc"];
            MySqlDataReader myReader;


            try
            {
                conDatabase.Open();
                myReader = cmdDatabase.ExecuteReader();
                MessageBox.Show("Správa odoslaná!");
                while (myReader.Read())
                {

                }

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

            }
        }