وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
سلام
من میخوام وقتی کاربر اطلاعاتو از طریق برنامه وارد میکنه (insert command) همزمان هم در دیتا بیس (sql server 2005) وارد بشه و هم در data grid view نشون بده.
Imports System.Data.SqlClient
Public Class Form3
Dim constr As String
Dim con As New SqlConnection
Private Sub connection()
constr = "Data Source=.;Initial Catalog=doryaban;Integrated Security=True"
con = New SqlConnection(constr)
con.Open()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call connection()
Dim strsql, str As String
Dim name As String = TextBox1.Text
Dim code As Integer = TextBox2.Text
strsql = "insert into merchandise values('" & name & "'," & code & ")"
Dim cmd As New SqlCommand(strsql, con)
cmd.ExecuteNonQuery()
Dim da As New SqlDataAdapter(strsql, con)
Dim ds As New DataSet
da.Fill(ds, "merchandise")
DataGridView1.DataBindings.Add(New Binding("'name '", ds, " 'merchandise.name '"))
DataGridView1.DataBindings.Add(New Binding("code", ds, "merchandise.code"))
DataGridView1.DataBindings.Clear()
con.Close()
End Sub
زمان اجرا از data grid view اولی ایراد میگیره :Cannot bind to the property ''name '' on the target control. Parameter name: PropertyName
اسم جدولم در merchandise
اسم ستون هاش: name و code
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
سلام یه نمونه برات نوشتم( با VB.NET 2010) که میتونی ازش استفاده کنی از لینک زیر دانلود کن
دانلود
من SQL 2005 نداشتم و با 2008 اینکارو کردم
اما تفاوتی نداره
چون دقیقا اون چیزی که میخوای هس
موفق باشی
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
بعد از اینکه اطلاعات رو در دیتابیس ذخیره کردی gridview رو باید bind کنی به صورت زیر:
gridview1.databind();
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
دوست عزیز شما به راحتی میتونی بانک رو یک بار دیگه فراخوانی کنی و به راحتی این کار انجام میشه
همیشه دیتاگریدویو ها از دیتاست پر میشن و دیتاست هم هیچ گاه خودکار کاری رو انجام نمیده پس باید بهش بگی بروز شو ، حالا بروز شدن دیتاست با فراخوانی بانک و تیبل مورد نظر انجام میگیره
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
الان اطلاعات همزمان تو جفتش وارد میشه فقط مشکل اینجاس وقتی دوباره چیزی وارد میکنم اصلاعات قبلی دیتا گرید ویو پاک میشه.
جدیده میره جای قبلی.
اما میخوام اضافه بشه به دیتا گرید ویو.
sadeghlinux:
فایلو دانلود کردم اما پیچیده بود.ویژوال اسودیو هم ارور میداد .
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
دوست عزیز باید شما باید کاملا برنامه نویسی رو روی دیتاست ببری و گرنه باز همین مشکل رو داری
به فرض
load_bank()' بانک فراخوانی میشود
DataGridView1.DataBindings.Clear
DataGridView1.DataBindings.add(new binding("datasource",ds,"tb_name"))
حالا کد بالا رو همونطور که گفتم فکر کن فراخوانی بانک هست
حالا شما مییای ایتم x رو از بانک فراخوانی میکنی و روی اون ویرایش انجام میدی بعد از ویرایش دوباره بانک رو فراخوانی کن.
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
کلاً منظورتونو از فراخوانی بانک متوجه نمیشم.
از خط اول و سوم ایراد میگیره.کدی که تا الان نوشتم اینه
Call connection()
Dim strsql, str As String
Dim name As String = TextBox1.Text
Dim code As String = TextBox2.Text
strsql = "insert into merchandise values('" & name & "'," & code & ")"
Dim cmd As New SqlCommand(strsql, con)
cmd.ExecuteNonQuery()
str = "select * from merchandise where name='" & TextBox1.Text & " ' and code=" & TextBox2.Text & ""
Dim da As New SqlDataAdapter(str, con)
Dim ds As New DataTable
da.Fill(ds)
Me.DataGridView1.DataSource = ds
از دیتا تیبل استفاده کردم نه دیتاست.دیتا ست که میذاشتم اون مشکلی که تو پست اول اشاره کردم به وجود میاد.کلاً هیچ راه ساده تری وجود نداره برای اینکه بتونم همه اطلاعات جدولو تو دیتا گرید ویو ببنم؟(با توجه به کدی تا الان نوشتم)
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
خط اول منظورت کجاست؟
کوئری برای افزودن به بانک رو به این صورت بنویس
insert into merchandise (name,code) values (@name,@code)
خوب حالا که ایتم افزوده شد به بانک راحت یک بار دیگه تمام اون جدول رو در دیتاگرید نمایش بده به هر روشی که بلدی (همون روشی که در اول نمایش دادی)
str = "select * from merchandise where name='" & TextBox1.Text & "' and code="'" & TextBox2.Text & "'"
کوئری فراخوانی هم مشکل داشت دقت داشته باش که هر فضای خالی در زمانی که where میگیری به حساب مییاد و دقت داشته باش که همیشه کارکتر ' رو وارد کنی
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
نقل قول:
نوشته شده توسط
M.KH-SH
دوست عزیز باید شما باید کاملا برنامه نویسی رو روی دیتاست ببری و گرنه باز همین مشکل رو داری
به فرض
load_bank()' بانک فراخوانی میشود
DataGridView1.DataBindings.Clear
DataGridView1.DataBindings.add(new binding("datasource",ds,"tb_name"))
حالا کد بالا رو همونطور که گفتم فکر کن فراخوانی بانک هست
حالا شما مییای ایتم x رو از بانک فراخوانی میکنی و روی اون ویرایش انجام میدی بعد از ویرایش دوباره بانک رو فراخوانی کن.
از خط اول و سوم این کد ایراد میگیره
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
:D
خوب من که مثال زدم چرا اونو وارد کردی؟ :دی
دوست عزیزم اونا فقط مثال بود مثلا در برنامه من load_Bank یک تابع هست و ds متغیر دیتاست و در آخر نام جدول مورد نظرم
نقل قول: وارد کردن اطلاعات در دیتا بیس و نمایش آن در datagridview به طور همزمان
حالا میخوام کاربر بتونه اطلاعات وارد شده در دیتا گرید ویو رو آپدیت و حذف کنه.
یعنی از توی خود دیتاگرید ویو این کارو انجام بده.