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

C#-在MySQL中向参数添加多个值,c#,mysql,C#,Mysql,所以我想将多个值存储到一个参数中。类似于将行添加到列。我一直在尝试以下方法:storeData.Parameter.AddWithValue() 很遗憾,这不起作用,因为它说我在下面的代码中使用的主题已经被定义了。我对MySQL还没有太多的经验,所以我真的不知道另一种方法。这是我的密码: string conString = @"Data Source=MYIP; Port=3306; Initial Catalog=MYCATALOG; User ID=USERNAME; Pa

所以我想将多个值存储到一个参数中。类似于将行添加到列。我一直在尝试以下方法:
storeData.Parameter.AddWithValue()

很遗憾,这不起作用,因为它说我在下面的代码中使用的主题已经被定义了。我对MySQL还没有太多的经验,所以我真的不知道另一种方法。这是我的密码:

        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" };
            for (int i = 0; i < subjects.Length; i++) {
                storeData.Parameters.AddWithValue("@subjects", subjects[i]);
                if(i == 0)
                {
                    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);
                }
                //these if statements are used for every subject
                storeData.ExecuteNonQuery();
                SalesKicker.Close();
        }
string conString=@“数据源=MYIP;端口=3306;初始目录=MYCATALOG;用户ID=USERNAME;密码=PASS;集成安全性=true;”;
mysqlconnectionsaleskiker;
SalesKicker=新的MySqlConnection(conString);
尝试
{
SalesKicker.Open();
MySqlCommand tabCreator=new MySqlCommand(“创建表”+dt.bedrijfsNaam+“(主题文本,jrliks INT,kwrt INT,mnd INT,wek INT,dag INT)”,SalesKicker);
tabCreator.ExecuteNonQuery();
MySqlCommand storeData=新的MySqlCommand(“插入“+dt.bedrijfsNaam+”(主题、jrliks、kwrt、mnd、wek、dag)”+“值(@subjects、@jrliks、@kwrt、@mnd、@wek、@dag)”,saleskiker);
字符串[]主题=新字符串[]{“前景”、“热门前景”、“Afspraken Maken”、“Afspraken”、“Offertes Maken”、“Gescoorde Offertes”、“Nieuwe Klanten”};
for(int i=0;i
代码在添加“潜在客户”后停止。我在这里做错了什么?有人能帮我吗

这就是我得到的错误:

{“参数'subjects'已定义。”}

并且dt.bedrijfsNaam通过dt类获取其值


提前感谢

如果要重用参数,请致电

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


在您的情况下,最好在for循环的开始括号之后添加这一行。

如果您想重用参数,应该调用

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

在您的情况下,最好在for循环的开始括号之后添加这一行。

检查下面的代码

    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();
string conString=@“数据源=MYIP;端口=3306;初始目录=MYCATALOG;用户ID=USERNAME;密码=PASS;集成安全性=true;”;
mysqlconnectionsaleskiker;
SalesKicker=新的MySqlConnection(conString);
尝试
{
SalesKicker.Open();
MySqlCommand tabCreator=new MySqlCommand(“创建表”+dt.bedrijfsNaam+“(主题文本,jrliks INT,kwrt INT,mnd INT,wek INT,dag INT)”,SalesKicker);
tabCreator.ExecuteNonQuery();
MySqlCommand storeData=新的MySqlCommand(“插入“+dt.bedrijfsNaam+”(主题、jrliks、kwrt、mnd、wek、dag)”+“值(@subjects、@jrliks、@kwrt、@mnd、@wek、@dag)”,saleskiker);
字符串[]主题=新字符串[]{“前景”、“热门前景”、“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
检查下面的代码

    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();
string conString=@“数据源=MYIP;端口=3306;初始目录=MYCATALOG;用户ID=USERNAME;密码=PASS;集成安全性=true;”;
mysqlconnectionsaleskiker;
SalesKicker=新的MySqlConnection(conString);
尝试
{
SalesKicker.Open();
MySqlCommand tabCreator=new MySqlCommand(“创建表”+dt.bedrijfsNaam+“(主题文本,jrliks INT,kwrt INT,mnd INT,wek INT,dag INT)”,SalesKicker);
tabCreator.ExecuteNonQuery();
MySqlCommand storeData=新的MySqlCommand(“插入“+dt.bedrijfsNaam+”(主题、jrliks、kwrt、mnd、wek、dag)”+“值(@subjects、@jrliks、@kwrt、@mnd、@wek、@dag)”,saleskiker);
字符串[]主题=新字符串[]{“前景”、“热门前景”、“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