PDA

View Full Version : ذخیره اطلاعات دیتاگرید



samiasoft
سه شنبه 24 اسفند 1395, 02:15 صبح
سلام دوستان

من با استفاده از دستورات زیر یک دیتابیس اکسس را در دیتاگرید به نمایش میگذارم :



connect.Open()
Dim dt As New DataTable
Dim da As New OleDbDataAdapter
Dim ds As New DataSet
Dim strsql As String
strsql = "select name1,name2 from table1 "
da = New OleDbDataAdapter(strsql, connect)
da.Fill(dt)
DataGridView1.DataSource = dt
connect.Close()




DataGridView1.ReadOnly = False
DataGridView1.AllowUserToAddRows = True


حال من میخواستم وقتی ستون یا ردیفی را در داخل دیتاگرید ویرایش یا اضافه میکنم بطور اتوماتیک داخل دیتابیس نیز اضافه یا ذخیره گردد. برای این منظور چه دستوری باید نوشت ؟

samiasoft
سه شنبه 24 اسفند 1395, 18:57 عصر
بدین صورت دستور رو نوشتم....با اینکه پیغام موفقیت امیز میده ولی در خود فایل دیتابیس ذخیره نمیشه ! دلیلش چیه به نظرتون؟


Dim da As New OleDbDataAdapter
Dim ds As New DataSet
Dim strsql As String


Try
strsql = "select name1,name2 from table1"
da = New OleDbDataAdapter(strsql, connect)
da.Fill(ds, "table1")
Dim Cb As New OleDbCommandBuilder(da)
da.UpdateCommand = Cb.GetUpdateCommand
da.Update(ds, "table1")
MsgBox("با موفقیت ذخیره شد", MsgBoxStyle.Information, "hi")


Catch ex As Exception
MsgBox("رویداد خطا", MsgBoxStyle.Critical, "Error")
End Try


صفحات زیر رو هم بررسی کردم ولی مشکل همچنان پابرجاست.
http://barnamenevis.org/showthread.php?248439-%D8%AF%D8%B1%D8%AC-%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7-%DA%AF%D8%B1%DB%8C%D8%AF-%D9%88%DB%8C%D9%88&highlight=GetUpdateCommand
http://barnamenevis.org/showthread.php?177749-data-grid-view&highlight=GetUpdateCommand
http://barnamenevis.org/showthread.php?191735-%D8%AB%D8%A8%D8%AA-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1%D8%A7%D8%AA-%DA%AF%D8%B1%DB%8C%D8%AF-%D9%88%DB%8C%D9%88&highlight=GetUpdateCommand

pamapz
پنج شنبه 26 اسفند 1395, 13:04 عصر
توی خط 11 دستور آپدیت چیه ؟
سوالم از شما : متوجه شدین چیکار کردین ؟ خط 11 با 12 چرا با da ماجرارو دنبال کردین ؟

gilsoft
پنج شنبه 03 فروردین 1396, 01:04 صبح
حال من میخواستم وقتی ستون یا ردیفی را در داخل دیتاگرید ویرایش یا اضافه میکنم بطور اتوماتیک داخل دیتابیس نیز اضافه یا ذخیره گردد. برای این منظور چه دستوری باید نوشت ؟

سلام دوست عزیز
سال نو مبارک

اینم کد مربوطه:
Imports System.Data
Imports System.Data.SqlClient


Public Class Form2
Dim conStr As String = "Data Source=LocalHost; Initial Catalog=TestDB; Integrated Security=True; Connection Timeout=15;"
Dim cmdStr As String = "SELECT * FROM AccIG"
Dim con As SqlConnection
Dim da As SqlDataAdapter
Dim DT As New DataTable

Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
con = New SqlConnection(conStr)
da = New SqlDataAdapter(cmdStr, con)
da.Fill(DT)
DataGridView1.DataSource = DT
End Sub

Private Sub btnUpdate_Click(sender As System.Object, e As System.EventArgs) Handles btnUpdate.Click
Using Cnn As New SqlConnection(conStr)
DataGridView1.EndEdit()
da.SelectCommand = New SqlCommand(cmdStr, Cnn)
Dim builder As New SqlCommandBuilder(da)
Cnn.Open()
da.Fill(DT)

da.Update(DT)
DT.AcceptChanges()
End Using
End Sub
End Class
موفق باشید .....