PDA

View Full Version : سوال: اضافه کردن رکورد جدید و دوباره تکرار شده داده ها در DataGrideView



JaVa
دوشنبه 12 تیر 1391, 14:14 عصر
با سلام و خسته نباشید به تمامی دوستان گرامی...

من وقتی که یه رکورد جدیدی رو در بانک ذخیره می کنم دادههایی که قبلا در بانک هستند بصورت Duplicate در دیتاگرایدم نمایش داده میشه:

این کدی هست که نوشتم:
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
#Region "Varible"
Dim cnn As New SqlConnection
Dim cmd As New SqlCommand
Dim sda As New SqlDataAdapter
Dim ds As New DataSet
Dim arr As New ArrayList()
#End Region

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ConnectionToDB()
DGView.DataSource = ds
DGView.DataMember = "MRG"
End Sub

Private Sub ConnectionString()
cnn.ConnectionString = "Data Source=MRG-PC\SQLEXPRESS; Initial Catalog=Bank;Integrated Security=true"
End Sub

Private Function ConnectionToDB() As DataSet
ConnectionString()
cmd.CommandText = "Select *From Table1"
cmd.Connection = cnn
sda.SelectCommand = cmd
sda.SelectCommand.Connection = cnn
cnn.Open()
sda.Fill(ds, "MRG")
cnn.Close()
Return ds
End Function

Private Sub UID(ByVal CMD As SqlCommand)
ConnectionString()
CMD.Connection = cnn
cnn.Open()
CMD.ExecuteNonQuery()
cnn.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
arr.Add(TextBox1.Text)
arr.Add(TextBox2.Text)
arr.Add(TextBox3.Text)

cmd.CommandText = "Insert Into Table1(Name,Family,Phone) Values(@Name,@Family,@Phone)"

cmd.Parameters.Clear()
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = (arr(0).ToString())
cmd.Parameters.Add("@Family", SqlDbType.NVarChar).Value = (arr(1).ToString())
cmd.Parameters.Add("@Phone", SqlDbType.Char).Value = (arr(2).ToString())
UID(cmd)
ConnectionToDB()
DGView.DataSource = ds
DGView.DataMember = "MRG"

End Sub
End Class


اینهم یه عکس از دیتاگرایدم که موضوع رو کاملا مشخص می کنه:
89082

JaVa
دوشنبه 12 تیر 1391, 14:48 عصر
نقل قول: اضافه کردن رکورد جدید و دوباره تکرار شده داده ها در DataGrideView
به نظر مياد مشكل از تعريف Field ا ID هستش

حالا میشه یه کم بیشتر توضیح بدید /:کف:

ROSTAM2
دوشنبه 12 تیر 1391, 15:51 عصر
فيلد ID رو در جدول بچه صورت تعريف كرديد؟؟؟ :متفکر:

JaVa
دوشنبه 12 تیر 1391, 22:28 عصر
فيلد ID رو در جدول بچه صورت تعريف كرديد؟؟؟

آقا حقیقتش رو بخواید من نمی فهمم چی میگی .
میشه یه کم واضع تر بگی...

از دوستان خواهشمندم که به من کمک کنن.

ROSTAM2
دوشنبه 12 تیر 1391, 23:08 عصر
فيلدتون درسته ، شايد اشتباها جايي دستوري كه ركورد اضافه مي كنه دوباره صدا زده مي شه يا شايدم اشتباها دوبار روي كليد كليك كرديد
يا شايدم ...

amir3321
سه شنبه 13 تیر 1391, 13:31 عصر
با سلام
فکر کنم چون از این تابع ConnectionToDB در هر مرتبه از عملیات ها استفاده می کنی قبل از پر کردن دوباره دیتاست باید یک بار آن را clear نمایید . در همان تابع

JaVa
سه شنبه 13 تیر 1391, 14:00 عصر
دمت گرم.
با همین یه خط کد کارمون راه افتاد
ds.Clear()

با تشکر