gpt4 book ai didi

c# - C#插入语句-数组作为SQL列名

转载 作者:行者123 更新时间:2023-12-03 08:27:16 24 4
gpt4 key购买 nike

我有两个表Vehicle_StatusTrans_Income
Vehicle_Status包含两列Vehicle_NumberStatus,并且Vehicle_Number包含数据,它们是Trans_Income的列名。

我想将数据从Vehicle_Number加载到数组中,并在insert语句中使用它。

string[] vehicleActive = new string[100];

SqlCommand cmd = new SqlCommand("Select Vehicle_Number from [dbo].[Vehicle_Status] Where Status = 'Inactive'", con);
cmd.CommandType = CommandType.Text;

con.Open();
int a = 0;

SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
vehicleActive[a] = dr["Vehicle_Number"].ToString();
a++;
}

con.close();

for (int b = 0; b < a; b++)
{
cmd = new SqlCommand("Insert Into [dbo].[Trans_Income](Month, Particular,'"+vehicleActive[b]+"') VALUES (@Month, @Particular, @vehicleNo )", con);

con.Open();

cmd.Parameters.AddWithValue("@Month", textBox2.Text);
cmd.Parameters.AddWithValue("@Particular", textBox2.Text);
cmd.Parameters.AddWithValue("@vehicleNo", textBox3.Text);

cmd.ExecuteNonQuery();
con.Close();
}

但是我得到了错误

System.Data.SqlClient.SqlException: 'Incorrect syntax near 'BJW6719'.'



列名称之一是 BJW6719-有人可以帮我吗?还是有其他更好的方法呢?先感谢您。

最佳答案

我注意到您的列名周围有多余的'字符,这不是必需的。尝试以下代码:

cmd = new SqlCommand("Insert Into [dbo].[Trans_Income](Month, Particular,"+vehicleActive[b]+") VALUES (@Month, @Particular, @vehicleNo )", con);

您确定您的第三列名称是: BJW6719。如果是,则上述方法将起作用,否则您需要添加正确的列名称。

关于c# - C#插入语句-数组作为SQL列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47900778/

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