【发布时间】:2017-12-11 11:26:10
【问题描述】:
我有一个错误的小问题。但我有这个命令的另一种形式,不要给我错误。
这是代码:
string select = "select CONCAT(nume,' ',prenume) from echipa where email=@EMAIL";
cmd.Connection = con;
if (bunifuCheckbox1.Checked == true)
{
con.Open();
cmd.CommandText = "Insert into clienti_fizici(nume,prenume,email,telefon,adresa,data_nasterii,data_ora,CNP,sex,judetprovenienta,temperamentclient,provenientaclient,descriere,numeagent)values('"
+ bunifuMaterialTextbox1.Text + "','" + bunifuMaterialTextbox2.Text + "','" + bunifuMaterialTextbox4.Text + "','" + bunifuMaterialTextbox8.Text + "','" + bunifuMaterialTextbox3.Text + "','" + DateTime.Now.ToString("yyyy-MM-dd HH: mm:ss") + "','" + bunifuDatepicker1.Value.Date + "','" + bunifuMaterialTextbox11.Text + "','" + gender + "','" + bunifuMaterialTextbox12.Text + "','" + bunifuDropdown1.selectedValue + "','" + bunifuDropdown2.selectedValue
+ "','" + richTextBox1.Text + "','" + select + "')";
cmd.Parameters.AddWithValue("@EMAIL", loginform.Email);
MessageBox.Show("Datele au fost introduse in baza de date !");
cmd.ExecuteNonQuery();
con.Close();
}
【问题讨论】:
-
你到底想做什么?插入选择的值?将 SQL 语句作为字符串插入?如果是第一个,它不会以这种方式工作。如果是第二个,也将查询的其余部分参数化,它将起作用。
-
我刚刚回答了这样一个问题,看例子:stackoverflow.com/questions/47750505/…
-
@mjwills 异常状态 System.Data.SqlClient - 意思是 SQL Server。此外,使用参数只是问题的一部分。这不是您或 Rogério 链接到的问题的副本。语法错误是因为在
values子句中使用了select。如果有的话,它是Subqueries are not allowed after VALUES? 的副本。但是,我没有将其标记为重复,因为这个问题有一个更大的问题(当然是 SQL 注入危险)。
标签: c# sql visual-studio