PDA

View Full Version : سوال: حذف کاربر از بانک ASPNETDB



fahime68
جمعه 12 خرداد 1391, 23:10 عصر
سلام دوستان من بانک اطلاعاتی ASPNETDB که در خود visual studio ایجاد میشه رو به sql server 2005 منتقل کردم. می خوام این امکان وجود داشته باشه که بتونم براساس نام کاربری کاربر حذف بشه. تو کنترلهای قسمت login که همچین چیزی وجود نداره. خودم این کد نوشتم:


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Con2users As [String] = WebConfigurationManager.ConnectionStrings("LocalSQLServer").ConnectionString
Dim conn As New SqlConnection(Con2users)
Dim Adpstudent1 As New SqlDataAdapter("select * from aspnet_Users", conn)
Dim cmdentry As New SqlCommand("Delete From aspnet_Users Where UserName=@UserName;", conn)
cmdentry.Parameters.AddWithValue("UserName", TextBox1.Text.ToString())
cmdentry.Connection.Open()
cmdentry.ExecuteNonQuery()
cmdentry.Connection.Close()
Label5.Text = "کاربر حذف شد."

Dim SetData As New DataSet()
Adpstudent1.Fill(SetData, "aspnet_Users")
TextBox1.Text = ""

End Sub



اما این ارور میده:

The DELETE statement conflicted with the REFERENCE constraint "FK__aspnet_Me__UserI__15502E78". The conflict occurred in database "users", table "dbo.aspnet_Membership", column 'UserId'.
The statement has been terminated.
ممنون میشم راهنمایی کنید.

boysilent
جمعه 12 خرداد 1391, 23:13 عصر
اینجا @ رو یادت رفته
cmdentry.Parameters.AddWithValue("UserName", TextBox1.Text.ToString())


cmdentry.Parameters.AddWithValue("@UserName", TextBox1.Text.ToString())

fahime68
جمعه 12 خرداد 1391, 23:29 عصر
اوکی. ممنونم تصحیح کردم اما بازم همون ارور هست. فک می کنم واسه اینکه فیلد userid که کلید اصلی جدول user هست تو جدول membership هم هست. اما نمیدونم چه جوری کدشو بنویسم که از همه جدولا حذف کنه.
یه روال ذخیره شده خود دیتابیس aspnetdb داره به اسم dbo.aspnet_Users_DeleteUser . ازین نمیشه یه استفاده کرد؟

boysilent
جمعه 12 خرداد 1391, 23:35 عصر
کلید اصلی هم باشه باید حزف بشه ربطی نداره که؟سیمیکالن رو هم پاک کن ؟؟

fakhravari
شنبه 13 خرداد 1391, 01:04 صبح
به صورت دستس خوب نیست.
از تابع های خود ممبرشیپ استفاده کنید.