![](/img/trans.png)
[英]The number of values in the VALUES clause must match the number of columns specified in the INSERT statement
[英]Insert statements more than values clause must match the number of columns
我收到此错误:
INSERT
语句中的列多于VALUES
子句中指定的VALUES
。VALUES
子句中的VALUES
数必须与INSERT
语句中指定的列数匹配。
这是我的代码:
if (pictureBox1.Image != null)
{
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] a = ms.GetBuffer();
ms.Close();
MemoryStream ms1 = new MemoryStream();
pictureBox2.Image.Save(ms1, pictureBox2.Image.RawFormat);
byte[] a2 = ms1.GetBuffer();
ms1.Close();
MemoryStream ms2 = new MemoryStream();
pictureBox3.Image.Save(ms2, pictureBox3.Image.RawFormat);
byte[] a3 = ms2.GetBuffer();
ms2.Close();
MemoryStream ms3 = new MemoryStream();
pictureBox4.Image.Save(ms3, pictureBox4.Image.RawFormat);
byte[] a4 = ms3.GetBuffer();
ms3.Close();
cmd.Parameters.Clear();
// cmd1.Parameters.Clear();
cmd.Connection = con;
cmd1.Connection = con;
cmd.Parameters.AddWithValue("@img1", a);
cmd.Parameters.AddWithValue("@img2", a2);
cmd.Parameters.AddWithValue("@img3", a3);
cmd.Parameters.AddWithValue("@img4", a4);
cmd1.CommandText = "Insert into proiecte(numeproiect,judet,oras,strada,numaretajeimobil,clasaenergetica,parcare,mezanin,demisol,mansarda,descriereproiect)values('"
+ nameofproject.Text + "','" + district_text.Text + "','" + city_text.Text + "','" + street_text.Text + "','" + bunifuDropdown2.selectedValue + "','" + bunifuMaterialTextbox1.Text + "','" + bunifuDropdown1.selectedValue + "','" + mezanine + "','" + semibasement + "','" + mansard + richTextBox1.Text + "')";
cmd.CommandText = "insert into proiecte(img1,img2,img3,img4)values(@img1,@img2,@img3,@img4)";
con.Open();
cmd1.ExecuteNonQuery();
cmd.ExecuteNonQuery();
con.Close();
}
您的插入命令有11列,其中包含10个值
cmd1.CommandText = "Insert into proiecte(
numeproiect
,judet
,oras
,strada
,numaretajeimobil
,clasaenergetica
,parcare
,mezanin
,demisol
,mansarda
,descriereproiect)
values(
'"+ nameofproject.Text + "'
,'" + district_text.Text + "'
,'" + city_text.Text + "'
,'" + street_text.Text + "'
,'" + bunifuDropdown2.selectedValue + "'
,'" + bunifuMaterialTextbox1.Text + "'
,'" + bunifuDropdown1.selectedValue + "'
,'" + mezanine + "'
,'" + semibasement + "'
,'" + mansard + richTextBox1.Text + "')";
更新:为您的评论,通过删除cmd1组合cmd1和cmd并像这样构建cmd
cmd.CommandText = "Insert into proiecte(
numeproiect
,judet
,oras
,strada
,numaretajeimobil
,clasaenergetica
,parcare
,mezanin
,demisol
,mansarda
,descriereproiect
,img1
,img2
,img3
,img4)
values(@numeproiect
,@judet
,@oras
,@strada
,@numaretajeimobil
,@clasaenergetica
,@parcare
,@mezanin
,@demisol
,@mansarda
,@descriereproiect
,@img1
,@img2
,@img3
,@img4)";
cmd.Parameters.AddWithValue("@numeproiect", nameofproject.Text);
cmd.Parameters.AddWithValue("@judet", district_text.Text);
cmd.Parameters.AddWithValue("@oras", city_text.Text);
cmd.Parameters.AddWithValue("@strada", street_text.Text);
cmd.Parameters.AddWithValue("@clasaenergetica", bunifuDropdown2.selectedValue);
cmd.Parameters.AddWithValue("@parcare", bunifuMaterialTextbox1.Text);
cmd.Parameters.AddWithValue("@mezanin", mezanine );
cmd.Parameters.AddWithValue("@demisol", semibasement );
cmd.Parameters.AddWithValue("@mansarda", mansard);
cmd.Parameters.AddWithValue("@descriereproiect", a);
cmd.Parameters.AddWithValue("@img1", a);
cmd.Parameters.AddWithValue("@img2", a2);
cmd.Parameters.AddWithValue("@img3", a3);
cmd.Parameters.AddWithValue("@img4", a4);
请记住要修复错误varbinary并更正参数。 我只是复制粘贴您的问题,所以它包含错误
看起来您在INSERT部分中有11列,但只能输入10个值。
您可能需要在mansard + richTextBox1.Text部分之间添加另一个逗号。
您的问题是最后两个值
+ "','" + mansard + "', '" + richTextBox1.Text + "')";
假设这两个都是文本值。 如果不是这样,只需删除单引号,但您需要使用逗号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.