PDA

View Full Version : سوال: ایجاد تغییرات از طریق گرید ویو



nima_8m
سه شنبه 05 دی 1391, 23:21 عصر
سلام

چطوری میتونم فقط از طریق گرید ویو اطلاعات رو ویرایش کنم

من گرید رو با کد به دیتا بیس وصل کردم و دیتابیس اکسس هست

خاصیت ویرایش گرید ویو هم فعال هست ولی تغییرات در بانک اعمال نمیشود

Reza Safa
چهارشنبه 06 دی 1391, 10:13 صبح
شما باید command.executereader کنی

Public ComBuild As New SqlCommandBuilder 'Build Command For Database
Public Con As New SqlConnection 'Connection to Database
Public Com As New SqlCommand 'Command For Database
Public dAdapter As New SqlDataAdapter 'Data Adapter
Public dReader As SqlDataReader 'Serach & Read From Database
Public dSet As New DataSet 'Data Set


Public Sub DisplaySqlErrorCollection(ByVal myException As SqlException)
Dim i As Integer
For i = 0 To myException.Errors.Count - 1
MessageBox.Show("Index #" + i.ToString() + ControlChars.Cr _
+ "Message: " + myException.Errors(i).Message + ControlChars.Cr _
+ "Source: " + myException.Errors(i).Source + ControlChars.Cr, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
Next i
End Sub
Public Sub Connection(ByVal constring As String)
Con.Close()
'----
Try
Con.ConnectionString = constring
Con.Open()
Catch ex As Exception
MessageBox.Show(ex.Source + vbCrLf + ex.Message)
Application.Exit()
End Try
End Sub
Public Sub Command(ByVal sqlCommand As String, ByVal TableName As String)
Try
'stop_out_box()

Connection(pdp)
dSet.Clear()
'----
Com.Connection = Con
Com.CommandText = sqlCommand
'----
dAdapter.SelectCommand = Com

dAdapter.Fill(dSet, TableName)
'Start_out_box()
Catch ex As Exception
'Start_out_box()

MessageBox.Show(ex.Source + vbCrLf + ex.Message)
End Try
End Sub
Public Sub ExecuteCommand(ByVal sqlCommand As String)
Try
'stop_out_box()

dSet.Clear()
'----
Connection(pdp)


Com.Connection = Con
Com.CommandText = sqlCommand

Com.ExecuteReader()

Con.Close()
'Start_out_box()
Catch ex As Exception
'Start_out_box()
Con.Close()
MessageBox.Show(ex.Source + vbCrLf + ex.Message)
End Try
End Sub
Public Function Get_ExecuteCommand(ByVal sqlCommand As String) As String
Try
'stop_out_box()

dSet.Clear()
'----
Connection(pdp)


Com.Connection = Con
Com.CommandText = sqlCommand

Dim strVal As String = ""

If Com.ExecuteScalar Is DBNull.Value Then
strVal = "0"
Else
strVal = Com.ExecuteScalar
End If
'Start_out_box()
Con.Close()
Return strVal
Catch ex As Exception
'Start_out_box()
Con.Close()
MessageBox.Show(ex.Source + vbCrLf + ex.Message)
End Try

End Function


شما دستورات sql را در این بنویس جواب میگیری

Reza Safa
چهارشنبه 06 دی 1391, 10:14 صبح
این برای sql برای اکسس هم باید تعاریف را عوض کنی که خودت میدونی

nima_8m
چهارشنبه 06 دی 1391, 10:48 صبح
این برای sql برای اکسس هم باید تعاریف را عوض کنی که خودت میدونی

نه متاسفانه نتونستم عوض کنم و از این کدها استفاده کنم

nima_8m
جمعه 15 دی 1391, 11:44 صبح
مهندسین گرامی

لطفاً اگه میشه یکی راهنمایی کنه من قضیه رو حل کنم

اینم سورس برنامه (http://dl.dropbox.com/u/25291256/test.rar)

Reza Safa
سه شنبه 19 دی 1391, 06:37 صبح
پاسخ شما را با پیغام فرستادم این هم نمونه کد
با این حالتهایی کخ من توضیج دادم برنامت دیگه دکمه SAVE نحواهد داشت مثل همه برنامه های من و کاربر لذت بیشتری میبره

Private Sub DGVghest_CellValidated(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvGhest.CellValidated


With dgvGhest
If blnRunAddRow = False Then Exit Sub
'----
If .Item(1, e.RowIndex).Value.ToString = "" Then Exit Sub
'----Start Save
If IsNumeric(.Item(0, e.RowIndex).Value) = False Then Exit Sub
If IsNumeric(.Item(2, e.RowIndex).Value) = False Then .Item(2, e.RowIndex).Value = 0
If IsNumeric(.Item(3, e.RowIndex).Value) = False Then .Item(3, e.RowIndex).Value = 0
.Item(4, e.RowIndex).Value = CType(.Item(2, e.RowIndex).Value, Long) + CType(.Item(3, e.RowIndex).Value, Long)
Update_db_Ghest_asl_far(.Item(0, e.RowIndex).Value.ToString, .Item(1, e.RowIndex).Value.ToString, .Item(2, e.RowIndex).Value.ToString, .Item(3, e.RowIndex).Value.ToString)

End With

در این کد عملیات کنترل برای اینکه DATAGRIDVIEW و تاره پر شده است یا خیر با blnRunAddRow بررسی میشود
این باعث می شود که هتگام پر کردن DATAGRID کد ها احرا نشود چون انوقت با ERROR مواجه می شوی

SilverGold
سه شنبه 08 اسفند 1391, 08:29 صبح
سلام دوست عزیز

یکی از خطهای شما من متوجه نمیشم داره چیکار می کنه ، لطف می کنید یک توضیح بدین من کپی کردم تو برنامه خودم خطا داد
If blnRunAddRow = False Then Exit Sub

blnRunAddRow

چطوری کنترل میشه اصلا متغیر هستش ؟؟؟