我正在尝试使用 C# 语言和 Visual Studio 2010 和 SQL Server 2005 数据开发应用程序 ASP MVC 3。我想在我的数据库中记录,但我不能,因为我输入的参数 ,,,, 被视为 NULL(当我将光标放在 Insert (matricule, ...) 语句中的参数上时,编辑告诉我他们是NULL)
这是应用程序显示的错误:
The INSERT statement is in conflict with the FOREIGN KEY constraint "FK_Users_Account". The conflict occurred in database "Range" table "dbo.Account", column 'Type_User'.
该语句已终止。
PS当我更改此声明时:
SqlCommand cmd = new SqlCommand("Insert Into Users(Matricule, Nom_User,PassWord, Type_User )Values('"+Matricule+"','"+Nom_User+"','"+passWord+"','"+Type_User+"')", cn);
这样 :
SqlCommand cmd = new SqlCommand("Insert Into Users(Matricule, Nom_User,PassWord, Type_User )Values('user2','anouar','anouar','Admin')", cn);
它是手动工作的,这意味着没有将值放入表单中
感谢您的回答,我改变了这样的代码,但总是同样的问题:
public int Insert(string Matricule, string Nom_User, string passWord, string Type_User, string ID_UF)
{
SqlConnection cn = new SqlConnection(@"Data Source = SWEET-DE396641E \ SQLEXPRESS; User Id = adminUser; Password = adminUser; Initial Catalog = Gamme");
cn.Open();
string sqlquery = ("Insert Into Users(Matricule, Nom_User,PassWord, Type_User, ID_UF )Values(@Matricule, @Nom_User, @passWord, @Type_User, @ID_UF)");
SqlCommand cmd = new SqlCommand(sqlquery, cn);
cmd.Parameters.AddWithValue("@Matricule", this.Matricule);
cmd.Parameters.AddWithValue("@Nom_User", this.Nom_User);
cmd.Parameters.AddWithValue("@passWord", this.passWord);
cmd.Parameters.AddWithValue("@Type_User", this.Type_User);
cmd.Parameters.AddWithValue("@ID_UF", this.ID_UF);
return cmd.ExecuteNonQuery();
}
这是错误:参数化查询'(@ Matricule nvarchar(4000),@ user_name nvarchar(4000),@ passWord nv'期望参数@俱乐部编号尚未指定。