53 messaggi dal 06 settembre 2002
Salve a tutti,
ho installato MySQL Connector ed ho provato subito il seguente codice:

connMySQL.ConnectionString = myConnectionString
connMySQL.Open()
cmd.Connection = connMySQL
cmd.CommandText = "SELECT * FROM province"
GridView1.DataSource = cmd.ExecuteReader()
GridView1.DataBind()
connMySQL.Close()

Fin qui tutto ok...
Ma quando ho provato ad abilitare il paging nella GridView1 ho beccato l'eccezione "The data source does not support server-side data paging."
Qualche consiglio per iniziare?

Grazie anticipatamente a tutti,
Francesco
amus ha scritto:
Salve a tutti,
ho installato MySQL Connector ed ho provato subito il seguente codice:

connMySQL.ConnectionString = myConnectionString
connMySQL.Open()
cmd.Connection = connMySQL
cmd.CommandText = "SELECT * FROM province"
GridView1.DataSource = cmd.ExecuteReader()
GridView1.DataBind()
connMySQL.Close()

Fin qui tutto ok...
Ma quando ho provato ad abilitare il paging nella GridView1 ho beccato l'eccezione "The data source does not support server-side data paging."
Qualche consiglio per iniziare?

Grazie anticipatamente a tutti,
Francesco
Ciao, prova a crearti un DataSet e "binda" su quello.
Purtroppo non ho tempo per indagare in merito all'eccezione.

Fabrizio Canevali
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
amus <amus> ha scritto:
connMySQL.ConnectionString = myConnectionString
connMySQL.Open()
cmd.Connection = connMySQL
cmd.CommandText = "SELECT * FROM province"
GridView1.DataSource = cmd.ExecuteReader()
GridView1.DataBind()
connMySQL.Close()

Non puoi paginare con il DataReader.

Ciao
53 messaggi dal 06 settembre 2002
ma c'e' modo di creare un dataset partendo da datareader?

Grazie,
Francesco
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
Un datatable viene creato internamente dal framework da un datareader

Puoi scrivere tu una funziona che ti fa proprio questo. Leggi ad esempio questo tutorial:
http://www.dotnetjunkies.com/Article/9E031150-2995-4298-86A7-407D8349C8A8.dcik
Oppure questo:
http://www.ugidotnet.org/tips/tips_read.aspx?ID=167

Ciao
53 messaggi dal 06 settembre 2002
Ho provato ad implementare le due soluzioni e sono riuscito a convertire un DataReader in un DataTable.
Il problema che mi manca qualcosa per implementare il passaggio da una pagina all'altra...
Qualche consiglio?

Grazie,
Francesco
3.121 messaggi dal 29 ottobre 2001
Contributi | Blog
amus <amus> ha scritto:
Il problema che mi manca qualcosa per implementare il passaggio da una pagina all'altra...

Dài al GridView come datasource il DataTable? In che modo? Come gestisci la paginazione?

Ciao
53 messaggi dal 06 settembre 2002
Ho scritto una cosa del genere:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim connMySQL As New MySqlConnection
Dim cmd As New MySqlCommand

Dim myConnectionString As String

myConnectionString = "server=127.0.0.1;" _
& "uid=root;" _
& "pwd=pwd;" _
& "database=DB;"

Try
connMySQL.ConnectionString = myConnectionString
connMySQL.Open()
cmd.Connection = connMySQL
cmd.CommandText = "SELECT * FROM province limit 10, 20"
Dim dt As New DataTable
Dim wdr As New WrapDataReader
Dim dr As MySqlDataReader = cmd.ExecuteReader()
Dim nrec As Integer = wdr.FillFromReader(dt, dr)

GridView1.DataSource = dt
GridView1.DataBind()
connMySQL.Close()
Label1.Text = "Fatto!!!"
Catch ex As MySql.Data.MySqlClient.MySqlException
Label1.Text = ex.Message
End Try
WrapDataReader è una classe che ho costrutito io che mi popola il DataTable (esempio proposto da UGIDOTNET)

Il consiglio che chiedevo nel post precedente era proprio come implementare la paginazione...da dove comincio?

Grazie,
Francesco

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.