C#MYSL插入查询无法更新或添加子行

时间:2018-04-27 06:54:11

标签: c# mysql

这是我得到的错误无法添加或更新子行:

  

外键约束失败(selo.klijent,CONSTRAINT   klijent_ibfk_1 FOREIGN KEY(GradID)REFERENCES grad(GradID))

这是我的插入查询

 string insertQuery = " INSERT INTO selo.Klijent(KlijentID,Ime,Prezime,Adresa,GradID,Telefon,Email,AktivanKlijent) Values('" + TB_Sifra + "','" + TB_Ime.Text + "','" + TB_Prezime.Text + "','" + TB_Adresa.Text + "','" + CB_Gradovi + "','" + TB_Telefon + "','" + TB_Mail.Text + "','" + proveraRB() + "')";

这是我的mysql代码

create table Klijent(

KlijentID INT NOT NULL AUTO_INCREMENT primary key,
Ime varchar(20) not null,
Prezime varchar(20) not null,
Adresa varchar(20) not null,
GradID  INT NOT NULL,
Telefon int not null,
Email varchar(20),
AktivanKlijent varchar(2),

FOREIGN KEY (GradID) REFERENCES Grad(GradID)
);

真的不知道该怎么做

3 个答案:

答案 0 :(得分:3)

您没有提供现有的GradID。 此外,您不应传递KlijentID,因为这是一个自动增量。此外,您的代码可能被黑客攻击:更好地使用参数化查询。

答案 1 :(得分:3)

检查Grad表 - GradID列具有GradID值

PS。你必须知道: How does the SQL injection from the “Bobby Tables” XKCD comic work?

答案 2 :(得分:0)

我没有将CB值转换为int。