C# - 在MySQL中为参数添加多个值

时间:2016-02-02 14:17:35

标签: c# mysql

所以我想将多个值存储到一个参数中。类似于向列中添加行的操作。我一直在尝试以下内容:LoginConfig config = context.getLoginConfig();

这可悲的是不行,因为它说我在下面的代码中使用的主题已经有所不同了。我不熟悉MySQL,所以我真的不知道另一种方法。这是我的代码:

storeData.Parameter.AddWithValue()

代码在添加“Prospects”后停止。我在这做错了什么?有人可以帮我这个吗?

这是我得到的错误:

  

{“参数'主题'已经定义。”}

ow,并且dt.bedrijfsNaam通过dt类

获取其值

提前致谢

2 个答案:

答案 0 :(得分:3)

如果要重用参数,请调用

command.Parameters.Clear();
执行命令前

在你的情况下,最好在for循环的左括号后面添加这一行。

答案 1 :(得分:1)

检查以下代码

    string conString = @"Data Source=MYIP; Port=3306; Initial Catalog=MYCATALOG; User ID=USERNAME; Password=PASS;Integrated Security=true;";
            MySqlConnection SalesKicker;
            SalesKicker = new MySqlConnection(conString);

            try
            {
                SalesKicker.Open();

                MySqlCommand tabCreator = new MySqlCommand("CREATE TABLE " + dt.bedrijfsNaam + " (subjects TEXT , jrLijks INT , kwrt INT , mnd INT , wek INT , dag INT)", SalesKicker);
                tabCreator.ExecuteNonQuery();
                MySqlCommand storeData = new MySqlCommand("INSERT INTO " + dt.bedrijfsNaam+ " (subjects, jrLijks, kwrt, mnd, wek, dag)" + "VALUES (@subjects, @jrLijks, @kwrt, @mnd, @wek, @dag)", SalesKicker);

                string[] subjects = new string[] { "Prospects", "Hot Prospect", "Afspraken Maken", "Afspraken", "Offertes Maken", "Gescoorde Offertes", "Nieuwe Klanten" };
storeData.Parameters.Add("@subjects");
storeData.Parameters.AddWithValue("@jrLijks", dt.skProspects * 12);
                    storeData.Parameters.AddWithValue("@kwrt", dt.skProspects * 3);
                    storeData.Parameters.AddWithValue("@mnd", dt.skProspects);
                    storeData.Parameters.AddWithValue("@wek", (dt.skProspects * 12) / 52);
                    storeData.Parameters.AddWithValue("@dag", (dt.skProspects * 12) / 365);

                for (int i = 0; i < subjects.Length; i++) {
                    storeData.Parameters["@subjects"].Value=subjects[i];

                    //these if statements are used for every subject
                    storeData.ExecuteNonQuery();

            }
    SalesKicker.Close();