私のASPのウェブサイトに私はデータベースにデータを送信する登録フォームを持っています。ユーザーがデータを入力すると、送信後に次のようなエラーが表示されます。オブジェクト 'dbo.UserInfo'に重複キーを挿入できません。重複するキー値は()です。声明は終了しました
PRIMARY KEY制約 'PK__UserInfo__737584F762CC8D9B'の違反。オブジェクト 'dbo.UserInfo'に重複キーを挿入できません。重複するキー値は()です。 ステートメントが終了しました。
これはコードです: ` signup.aspx.cs-
protected void submit_Click(object sender, EventArgs e)
{
string name = Request.Form["name"];
string email = Request.Form["email"];
string password = Request.Form["password"];
string fileName = "Database.mdf";
string sql = "INSERT INTO UserInfo VALUES('" + name + "','" + email + "','" + password + "')";
MyAdoHelper.DoQuery(fileName,sql);
}
MyAdoHelper.DoQuery-
public static void DoQuery(string fileName, string sql)
{
SqlConnection conn = ConnectToDb(fileName);
conn.Open();
SqlCommand com = new SqlCommand(sql, conn);
com.ExecuteNonQuery();
com.Dispose();
conn.Close();
}
MyAdoHelper.ConnectToDb-
public static SqlConnection ConnectToDb(string fileName)
{
string path = HttpContext.Current.Server.MapPath("App_Data/");
path += fileName;
//string path = HttpContext.Current.Server.MapPath("App_Data/" + fileName);
string connString = @"Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = C:\Users\User\Documents\Visual Studio 2015\WebSites\WebSite6\App_Data\Database.mdf; Integrated Security = True";
SqlConnection conn = new SqlConnection(connString);
return conn;
}
ことができる人助けて? thx!
前に確認することができますか? –
私はその名前は と思うPRIMARY KEY CLUSTERED([Name] ASC) –
名前はあなたのためのプライマリコラムです! ( '+ name + "'、+" + email + "')を入力すると、sql ="次のように入力する必要があります。 、 '"+パスワード+"')END ";その名前がすでにあなたのテーブルに存在するかどうかを確認するのに役立ちますので、そのエラーを避けることができます! – Akhilesh