gpt4 book ai didi

C# - 将多个值添加到 MySQL 中的参数

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:07 25 4
gpt4 key购买 nike

所以我想将多个值存储到一个参数。就像在列中添加一行。我一直在尝试以下操作: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();
}

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

这是我遇到的错误:

{"Parameter 'subjects' has already been defined."}

哇,dt.bedrijfsNaam通过dt类获取它的值

提前致谢

最佳答案

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

command.Parameters.Clear();

在执行命令之前。

在您的情况下,最好在 for 循环的左括号之后添加此行。

关于C# - 将多个值添加到 MySQL 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35155880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com