infatti... i osono filo-Microsoft

Ormai programmano tutti... ma la professionalità appartiene a pochi
tazz@libero.it ha scritto:
Eureka funziona! E vedo che posso gestire i dati come piace a me...viva il 445! Ora vedo di sistemare il codice che ho sostituito per leggere da Access, magari domani posto il tutto, sicuramente altri utenti apprezzeranno.

Grazie ancora e buona notte



perfetto!! vedi superato lo scoglio iniziale poi tutto torna apposto, ti assicuro che è sempre così quando ti approcci ad una nuova tecnologia

ciao marco e buon lavoro

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
3.939 messaggi dal 28 gennaio 2003
Posso aggiungere una cosa? Una volta capito bene il funzionamento, conviene costruire un User Control. Il lavoro sarà sicuramente ripagato.
19 messaggi dal 21 giugno 2002
Eh eh eh... mi scuso per il momento di sconforto....d'altro canto con qualcuno bisogna pur prendersela :)

Ho un'altro piccolo problema. Se nella query SQL provo a mettere un ORDER BY mi becco un bell'errore:

You tried to execute a query that does not include the specified expression 'codice' as part of an aggregate function.

Senza l'ORDER il comando funziona. Il campo codice non è primario, cmq l'errore mi arriva anche se provo ad ordinare i record per l'ID che è primario. Sto usando la connessione tramite Microsoft.Jet.OLEDB.

Suggerimenti?
19 messaggi dal 21 giugno 2002
se metto ORDER BY 'codice' (con gli apostrofi) non ricevo l'errore però continua a farmi vedere i record in un ordine strano...ora faccio qualche prova
Modificato da tazz@libero.it il 11 ottobre 2008 15.05 -
19 messaggi dal 21 giugno 2002
come avevo accennato, posto qua il codice dell'esempio 445 con le stringhe per Jet.OLEDB e ACCESS. Fatto sta che non riesco a cambiare l'ordine di visualizzazione dei record. Ho girato mezz'ora in internet e fatto mille prove ma non ho risolto, aiuto!


<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb" %>
<SCRIPT LANGUAGE="VB" RUNAT="SERVER">

Dim PageSize as Integer = 5
Dim CurrentPage as string
Dim TotalPages as Integer
Dim TotalSize as Integer

' PUBLIC
Dim Public Chiave as String

Sub Page_Load(sender As Object, e As EventArgs)

' pagina corrente
CurrentPage = Request("p")
if CurrentPage is nothing then CurrentPage = 1
if not page.ispostback then
binddata()
end if
End Sub

Sub BindData()

Dim strSQL as String = "SELECT id,codice,codiceloro,nome,pax,camere FROM ville_pool_2 ORDER BY 'codiceloro' DESC;"

Dim conn as OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source="+server.mappath("database/ibiza_2.mdb"))

Dim query As OleDbDataAdapter = New OleDbDataAdapter(strSQL, conn)

Dim querydataset As Dataset = new DataSet()

Dim startRecord as integer = (int32.Parse(CurrentPage) - 1) * int32.Parse(PageSize)

' databinding
query.Fill(querydataset, startRecord, int32.Parse(PageSize), "ext_content")
queryres.DataSource = querydataset
queryres.DataBind()

' conta i record totali
Dim strSQLCount as String = strSQL

' ricavo la query count
strSQLCount = "SELECT COUNT(*) as Totale " & strSQLCount.SubString(strSQLCount.IndexOf(" FROM "))

conn.open
Dim myCommand As OleDbCommand = New OleDbCommand(strSQLCount, Conn)
Dim reader as OleDbDataReader = myCommand.ExecuteReader()

' conto i risultati
reader.read()
TotalSize = reader("totale")
reader.Close
conn.Close

if TotalSize = 0 then
results.text = "Non ci sono risultati per questa ricerca"
else
TotalPages = int32.Parse(TotalSize)\int32.Parse(PageSize)+1
' fix per numero di pagine
if Fix(TotalSize/PageSize) = TotalSize/PageSize then TotalPages = TotalPages -1
' fix per record finale
Dim EndRecords as Integer = startRecord + int32.Parse(PageSize)
if EndRecords > TotalSize then EndRecords = TotalSize


end if

if totalsize = 0 then
paginazione.visible = false
end if

' costruisci la paginazione
BuildPagers()
End Sub

Sub BuildPagers()

' ciclo
dim i as integer
dim lb as Label

if TotalPages> 1 then
lb = New Label()
lb.Text = "Ci sono " & TotalPages & " pagine con i risultati: "
paginazione.controls.add(lb)

for i = 1 to (TotalPages)
lb = New Label()
lb.id = "ThisPage" & i
if currentPage = i then
lb.text = "[<b>" & i & "</b>] " & VbCrLf
else
lb.text = "[<a href=""" & Request.PathInfo.ToString & "?chiave=" & Server.URLEncode(chiave) & "&p=" & i & """>" & i & "</a>] " & VbCrLf
end if
paginazione.controls.add(lb)
next
end if
End sub

</SCRIPT>

<asp:label id="results" runat="server"/>

<asp:repeater id="queryres" runat="server">
<itemTemplate>
<br><%#Container.DataItem("ID")%> -
<%#Container.DataItem("codice")%><br><br>
</itemTemplate>
</asp:repeater>

<br>

<asp:placeholder id="Paginazione" runat="server"/>
se visualizzi solo la query, ovvero la provi dentro access cosa succede?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
19 messaggi dal 21 giugno 2002
Ciao Marco, se usata in una pagina ASP la query funziona correttamente, ti metto qua il link al sito che la usa:

http://www.ibizaknowhow.com/ibiza_ville_immobili.asp?pg=1&cat=2&ln=it

Ho provato a cambiare chiave primaria e tipologia di campo ma l'ordine nel .net non riesco a cambiarlo. Da qualche parte ho visto che il Dataset ha delle proprietà tra le quali Sort...purtroppo gli esempi erano in C#...tu ne sai qualcosa?

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.