Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Riempire dataset con array?
venerdì 23 giugno 2006 - 11.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
ven 23 giu 2006 - 11:38
Ciao a tutti vorrei sapere se secondo voi è possibile riempire un dataset da una fonte dati tipo un array o ev un datatable....
Grazie in anticipo!!
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
ven 23 giu 2006 - 14:38
ok non è un problema riempire un datatable con l'array ...
dataSet.Tables.Add(caricadatatabledatatable()) 'caricadatatabledatatable è una funzione che mi crea il DT e lo popola con l'array
se posso ancora approfittarne
ora nel dataset dovrei farci entrare un dataadapter e quindi relazionare le due tabelle....
dovrebbe essere possibile... giusto?
PS Grazie!
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
lun 26 giu 2006 - 08:08
...mi spiego meglio...
ho la mia datalist(dlstProdotti) che pesca da una tabella prodotti, nel momento in cui devo modificare il record e vado in edit dovrei popolare una dropdown(DdlImmagini) con tutti i file di una dir e selezionare quello corrispondente nella tabella prodotti.
Pertanto io pensavo di inserire in 1 array tutti i file della dir e quindi tramite una datatable inserirli nel dataset:
Dim mydatatable As New DataTable("ParentTable")
Dim mydatacolumn As New DataColumn
Dim mydatarow As DataRow
mydatacolumn.DataType = System.Type.GetType("System.String")
mydatacolumn.ColumnName = "ID"
mydatatable.Columns.Add(mydatacolumn)
Dim dir As DirectoryInfo = New DirectoryInfo(Server.MapPath("\ImgProducts\"))
For Each localfile As FileInfo In dir.GetFiles
mydatarow = mydatatable.NewRow
mydatarow("ID") = localfile.Name
mydatatable.Rows.Add(mydatarow)
Next
Dim dataSet As New dataSet
dataSet.Tables.Add(mydatatable)
e fin qui dovremmo essere ok...
quindi pesco i dati nella tab prodotti e con il dataadapter li inserisco nel dataset:
Dim objConn As MySqlConnection = New MySqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
strSql = "Select * from T_prodotti " & strCategoryFilter
Dim dataAdapter As New MySqlDataAdapter(strSql, objConn)
dataAdapter.Fill(dataSet, "T_prodotti")
ora il mio dataset dovrebbe contenere 2 tabelle che tento di relazionare cosi:
dataSet.Relations.Add("myrelation", dataSet.Tables("ParentTable").Columns("ID"), dataSet.Tables("T_prodotti").Columns("immagine_prodotto"))
dlstProdotti.DataSource = dataSet.Tables("T_prodotti").DefaultView
e quindi:
dlstProdotti.DataSource = dataSet
dlstProdotti.DataBind()
ma mi solleva un'eccezione
System.Web.HttpException: DataBinder.Eval: 'System.Data.DataRowView' non contiene una proprietà con nome Id_prodotto
spero di essere stato più chiaro, ciao!
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
lun 26 giu 2006 - 11:25
Ciao Coach e buona settimana!
Il campo Id_prodotto esiste eccome, ho cambiato la query con
strSql = "Select id_prodotto, nome_prodotto, prezzo_prodotto, immagine_prodotto, descrizione_prodotto from T_prodotti " & strCategoryFilter
e non si inalbera affatto.... ti posto il codice del mio datalist:
<asp:datalist id=dlstProdotti runat="Server" onupdatecommand="dlstProdotti_UpdateCommand" ondeletecommand="dlstProdotti_DeleteCommand" oncancelcommand="dlstProdotti_CancelCommand" oneditcommand="dlstProdotti_EditCommand" width="500px" edititemstyle-backcolor="lightgrey" cellpadding="10" repeatdirection="Horizontal" repeatcolumns="3" datakeyfield="Id_prodotto">
<itemtemplate> <strong><%# Container.DataItem( "nome_prodotto" )%></strong> <br/>
<%# Container.DataItem( "prezzo_prodotto" )%> <br/>
<%# Container.DataItem( "immagine_prodotto" )%> <br/>
<%# Container.DataItem( "descrizione_prodotto" )%> <br/>
<asp:linkbutton text="Modifica!" commandname="edit" runat="Server" id="Linkbutton1"/><br/>
</itemtemplate>
<edititemtemplate>
Nome: <asp:textbox id="txtNomeProdotto" text='<%# Container.DataItem( "nome_prodotto" )%>' runat="Server" class="middle"/><br/>
Immagine: <asp:dropdownlist id="DdlImmagini" runat="server" datatextfield="id" datavaluefield="id" /><br/>
Prezzo: <asp:textbox id="Txtprezzoprodotto" text='<%# Container.DataItem( "prezzo_prodotto" )%>' runat="Server" class="middle"/><br/>
Descrizione: <asp:textbox id="Txtdecrizioneprodotto" text='<%# Container.DataItem( "descrizione_prodotto" )%>' runat="Server" class="middle"/><br/>
<asp:linkbutton text="Aggiorna!" commandname="update" runat="Server" id="Linkbutton2"/>
<asp:linkbutton text="Elimina!" commandname="delete" runat="Server" id="Linkbutton3"/>
<asp:linkbutton text="Cancella!" commandname="cancel" runat="Server" id="Linkbutton4"/>
</edititemtemplate>
</asp:datalist>
...a me sembra tutto ok...ciao!
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
lun 26 giu 2006 - 14:47
no ho cambiato semplicemente per farti vedere che l'id_prodotto c'era ma l'eccezzione è la stessa di cui sopra!.....sigh
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
lun 26 giu 2006 - 16:49
>e non si inalbera affatto.... ti posto il codice del mio datalist:
ehm intendevo dire che se il campo id_prodotto non fosse esistito mi avrebbe restituito 1 altro tipo di errore...
>Controlla bene il mapping campi ritornati dalla query da quelli che metti nel datalist
il mapping come puoi vedere è ok ed il datalist ha datakeyfield="Id_prodotto"
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !