venerdì 16 dicembre 2011

Calcolare pesantezza Tabelle sql




 SELECT SYS_OBJ.NAME AS "TABLE NAME"

     , SYS_INDX.ROWCNT AS "ROW COUNT"

FROM SYSOBJECTS SYS_OBJ, SYSINDEXES SYS_INDX



WHERE SYS_INDX.ID = SYS_OBJ.ID

  AND INDID IN(0,1)

  AND XTYPE = 'U'

 AND SYS_OBJ.NAME <> 'SYSDIAGRAMS'



ORDER BY SYS_INDX.rowcnt DESC

COMPUTE SUM(SYS_INDX.ROWCNT)

lunedì 31 ottobre 2011

Resettare cache in pagina Web

Per resettare la Cache e obbligare il ricaricamento di tutti i contenuti aggiungere questi meta alla pagina:





    <meta http-equiv="CACHE-CONTROL" content="NO-CACHE" />

    <meta http-equiv="EXPIRES" content="0" />

    <meta http-equiv="PRAGMA" content="NO-CACHE" />

martedì 13 settembre 2011

settare un campo di tipo datetime in SQL


update NomeTabella

set NomeColonna = convert(datetime,'31/12/2099')
WHERE nnc_cartcanas = 'ADB'

Lanciare una pagina in target _blank da code behind

Per aprire un link in una nuova scheda utilizzare il codice:

Response.Write("")

Aggiungere un controllo dinamicamente alla pagina

Per aggiungere un controllo dinamicamente ad una pagina aspx è necessario utilizzare il seguente frammento di codice:
Dim ctrlInstances As SearchAreasInstancesUsc = LoadControl("SearchAreaInstancesUsc.ascx")


é fondamentale settare un Identificatore unico al controllo, in modo da non creare sovrapposizione delle informazioni tra i controlli attualmente presenti nella pagina.
ctrlInstances.ID = 1

giovedì 4 agosto 2011

Inserire Codice nel blog

Spesso mi capitava di dover inserire codice html sui post di blogger, ma visto che la piattaforma del blog "capisce" l'html, lo interpretava senza pubblicare il codice cosi com'era...

Per fare in modo che venga pubblicato il "codice puro" si deve fare affidamento a dei programmini che "proteggono" il codice da inserire, ve ne segnalo uno di esempio, ma in rete se ne trovano parecchi:

http://www.simplebits.com/

Ricerca di Google dal sito web

Per inserire una ricerca di google direttamente dal sito web è sufficiente inserire questo frammento di codice nella pagina web:


<center>

<FORM method=GET action="http://www.google.com/search">

<TABLE bgcolor="#FFFFFF"><tr><td>

<A HREF="http://www.google.com" target="_blank">

<IMG SRC="http://www.google.com/logos/Logo_40wht.gif" border="0"

ALT="Google" align="absmiddle"></A>

<INPUT TYPE=text name=q size=31 maxlength=255 value="">

<INPUT TYPE=hidden name=hl value=it>

<INPUT type=submit name=btnG VALUE="Cerca con Google">

</td></tr></TABLE>

</FORM>

</center>



martedì 2 agosto 2011

Versione progetto ClickOnce

Per ottenere il numero di versione per le applicazioni distribuite tramite il clickonce è sufficiente importare la referenza al progetto all'oggetto System.Deployment
e tramite il seguente codice:

if
(System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed)
{
this.Text = String.Format("MRS Map Printing Manager {0}",
Application.ApplicationDeployment.CurrentDeployment.CurrentVersion);
}

giovedì 7 luglio 2011

Ricavare il primo elemento di un gruppo di elementi


;WITH cte AS

(
SELECT n = row_number() over (partition by IdContatto order by IdLoginHistory desc)
, *
FROM TbLoginHistory
)
SELECT *
FROM cte
INNER JOIN TbContatti ON cte.IdContatto = TbContatti.IdContatto
WHERE n = 1
ORDER BY TbContatti.Cognome

martedì 28 giugno 2011

Ultimo giorno del mese in VBScript

Function UltimoGiorno(Data_Gio as Date) as Date
if Date_Gio = "" then
Data_Gio = Date
end if
UltimoGiorno = DateSerial( Year(Data_Gio), Month(Data_Gio)+1, 0 )
End Function

lunedì 13 giugno 2011

Ottenere ultimo giorno del mese

Per ottenere la data dell'ultimo giorno del mese

select
DATEADD(month, ((YEAR(GETDATE()) - 1900) * 12) + MONTH(GETDATE()), -1) as fine_mese

venerdì 20 maggio 2011

Eseguire chiamata Post a una pagina esterna

Per eseguire una chiamata ad un link passando dei parametri in post.


Response.Clear()

Dim sb As New StringBuilder()
sb.Append("")
sb.AppendFormat("")
sb.AppendFormat("
", link)
sb.AppendFormat("", UserName)
sb.AppendFormat("", Password)
' Other params go here
sb.Append("")

sb.Append("")
sb.Append("")

Response.Write(sb.ToString())

Response.End()

venerdì 6 maggio 2011

Abilitare scrittura campo Identity

Per abilitare la scrittura di un campo idendity di Sql Server inserire prima del codice Insert lo script:

SET IDENTITY_INSERT [dbo].[Tabella] ON

e dopo l'inserimento dei campi riabilitare il normale funzionamento con

SET IDENTITY_INSERT [dbo].[Tabella] OFF

martedì 5 aprile 2011

Passare parametri in post dinamicamente

Grazie a questo frammento di codice è possibile aprire un link passando dei parametri popolati dinamicamente.

Public Sub ApriLink(ByVal linkURL As String)
Dim UserName As String = "Username"
Dim Password As String = "Password"

Response.Clear()

Dim sb As New StringBuilder()
sb.Append("")
sb.AppendFormat("")
sb.AppendFormat("
", linkURL)
sb.AppendFormat("", UserName)
sb.AppendFormat("", Password)
' Other params go here
sb.Append("")

sb.Append("")
sb.Append("")

Response.Write(sb.ToString())

Response.End()
End Sub

mercoledì 23 marzo 2011

Unable to load DLL ‘sqlceme35.dll’

Se state sviluppando un’applicazione che utilizza SQL Server Compact Edition su una macchina x64, impostare nelle opzioni avanzate di compilazione la CPU di destinazione come “x86” e non “AnyCPU” per non incorrere nell’errore sopracitato (un P/Invoke non riuscito da parte di System.Data.SqlServerCe verso sqlceme35.dll). E’ da tenere conto che si applica sia alla versione 3.0, alla 3.5 ed alla 4. Questo perchè SQL Server Compact Edition su macchina x64 gira in WoW (Windows on Windows, emulazione x86 su x64).

venerdì 25 febbraio 2011

Chiamata a una funzione remota e incapsulare la risposta in una tabella temporanea

Con questa procedura è possibile richiamare una funzione su un server remoto, fare attenzione che prima devono essere abilitate le chiamate remote come descritto nel precedente post.
Creare la tabella Temporanea

CREATE TABLE #tmp (
cod char(10) ,
username varchar(80),
Codice_web varchar(10)
)


Dichiarare i parametri:

declare @la float
declare @lo float
declare @categoria nvarchar(MAX)


Dichiarare una stringa dove è possibile inserire i parametri:

DECLARE @sqlQuery VARCHAR(8000)
SET @sqlQuery = 'SELECT cod
, username
,Codice_web
FROM [DBRemoto].[dbo].[GeoSearch](
' + str(@lo) + '
, ' + str(@la) + '
, ''''' + @categoria + '''''
)'


E la stringa dove effettuare la chiamata remota e inserisci i risultati nella tabella temporanea:


DECLARE @finalQuery VARCHAR(8000)
SET @finalQuery = 'INSERT into #tmp SELECT cod
, username
,Codice_web
FROM OPENQUERY([ServerCollegato],' + '''' + @sqlQuery + '''' + ')'


Alla fine si esegue la chiamata con

EXEC (@finalQuery)

select * from #tmp

drop table #tmp

lunedì 3 gennaio 2011

Errore in visualizzazione pagine di Visual Studio 2008

A seguito di una installazione (o modifiche Software) al Visual Studio possiamo incappare in un errore di questo genere quando tentiamo di aprire una pagina aspx:

package 'Visual Web Developer HTML SourceEditor Package' has failed to load properly (GUID={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}}'

Per risolvere è sufficiente seguire la seguente procedura:

Aprire VS2008, click su Tools/Options

Check "Show all settings" option

Selezionare Environment/International Settings

Cambiare la lingua del combo box

Chiudere VS2008.

Lanciare da riga di comando devenv /resetskippkgs