Buon giorno
Ho ripreso a smanettare un po' con
asp.net e molte cose le ho dimenticate e le sto rispolverando un po' alla volta.
il problema che vi pongo e nel codice sotto riportato nella quale alla esecuzione di un qualsiasi comando non riesce a caricare il data set modificato e di fatto mi riporta al data set del page load:
Imports Devart.Data.MySql
Imports System.Web
Imports System.Data
Partial Class ricerca
Inherits
System.Web.UI.Page
'Dichiaro e setto le variabili
Dim myconnectionstr As String = "User Id=root;Password=@@Rt90<<;Host=127.0.0.1;Database=gestcar"
Dim connection As Devart.Data.MySql.MySqlConnection = New Devart.Data.MySql.MySqlConnection(myconnectionstr)
Dim command As Devart.Data.MySql.MySqlCommand = New Devart.Data.MySql.MySqlCommand()
Dim dataAdapter As Devart.Data.MySql.MySqlDataAdapter = New Devart.Data.MySql.MySqlDataAdapter()
Dim commandBuilder As Devart.Data.MySql.MySqlCommandBuilder = New Devart.Data.MySql.MySqlCommandBuilder()
Dim myDataSet As System.Data.DataSet = New System.Data.DataSet()
'Codice da inserire *
'Inserisco la colonna per editare il record
Private Sub dataGrid_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dataGrid.EditCommand
dataGrid.EditItemIndex = e.Item.ItemIndex
BindGrid()
End Sub
'Inserico la colonna con il comando update
Private Sub dataGrid_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dataGrid.UpdateCommand
'dataAdapter.Fill(myDataSet, "Table")
'dataAdapter.Update(myDataSet, "Table")
Dim I As Integer
'Ciclo for per tutti i campi
For I = 2 To e.Item.Cells.Count - 1
Dim ColValue As String = CType(e.Item.Cells.Item(I).Controls.Item(0), TextBox).Text
If String.IsNullOrEmpty(ColValue) And myDataSet.Tables("Table").Columns(I - 2).DataType IsNot GetType(String) Then
myDataSet.Tables("Table").Rows(e.Item.ItemIndex)(I - 2) = DBNull.Value
Else
myDataSet.Tables("Table").Rows(e.Item.ItemIndex)(I - 2) = ColValue
End If
Next I
dataGrid.EditItemIndex = -1
BindGrid()
End Sub
'Inserisco la colonna con il comando cancel
Private Sub dataGrid_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dataGrid.CancelCommand
dataGrid.EditItemIndex = -1
BindGrid()
End Sub
'Inserisco la colonna con il comando Delete
Private Sub dataGrid_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dataGrid.DeleteCommand
Dim view As DataView = New DataView(myDataSet.Tables("Table"))
view.Delete(e.Item.ItemIndex)
BindGrid()
End Sub
Private Sub BindGrid()
If myDataSet.Tables("Table") IsNot Nothing Then
dataGrid.DataSource = myDataSet.Tables("Table").DefaultView
lbResult.Visible = True
' btInsertRecord.Visible = True
If myDataSet.Tables("Table").GetChanges() IsNot Nothing Then
lbInfo.Text = "Changed"
End If
Else
dataGrid.DataSource = Nothing
lbResult.Visible = False
' btInsertRecord.Visible = False
End If
dataGrid.DataBind()
End Sub
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
'If IsPostBack Then
Try
connection.Open()
lbState.Text = "Success"
lbState.ForeColor = System.Drawing.Color.Blue()
command.CommandText = "SELECT Targa,Immatricolazione,Modello,Unita,Intestatario,stato_idstato FROM gestcar.automezzi;"
dataAdapter.SelectCommand = command
dataAdapter.SelectCommand.Connection = connection
'command.ExecuteNonQuery()
dataAdapter.Fill(myDataSet, "Table")
connection.Close()
Catch exception As Exception
lbState.Text = "Failed"
lbState.ForeColor = System.Drawing.Color.Red
lbError.Text = exception.Message
End Try
BindGrid()
' End If
End Sub
Protected Sub InsRow_Click(sender As Object, e As EventArgs) Handles InsRow.Click
myDataSet.DataSetName = "NewDataSet"
Dim row As DataRow = myDataSet.Tables("Table").NewRow()
myDataSet.Tables("Table").Rows.Add(row)
dataGrid.EditItemIndex = myDataSet.Tables("Table").Rows.Count - 1
BindGrid()
End Sub
End Class
Ringraziando anticipatamente auguro a voi tutti un buon anno.