martedì 17 febbraio 2009

Azure all'opera


Ho creato la mia prima applicazione su Microsoft Azure la piattaforma per applicazioni Cloud di Microsoft.

Due considerazione sopra a tutte :
1) Ha un potenziale esplosivo. Rispetto alle AppEngine di Google ha dalla sua l'integrazione con i tools di sviluppo di Microsoft che rendono estremamente più produttivo il lavoro.
2) In questa prima prova la lentezza dei sistemi è però stata terribile: diversi minuti di attesa per poter vedere pubblicata una banale pagina.


Dovrebbe funzionare a questo indirizzo :
http://cinghiale.cloudapp.net/

Ma al momento è attiva solo sull'ambiente di test:
http://57fd3bdb-1bd1-427b-a7e6-2c96a28c09fe.cloudapp.net/Default.aspx


Qui ci sono una serie di video per imparare a creare la prima applicazione:
http://msdn.microsoft.com/en-us/azure/dd439432.aspx

http://blogs.msdn.com/cloud/archive/2009/02/12/windows-azure-how-do-i-videos.aspx

le Tables di Azure

Mi aspettavo di trovare in Azure un qualche tipo di connessione agli SDS (SQL Data Services).
Invece per gestire i dati in tabelle bisogna utilizzare le "Tables".
Il cui principio di utilizzo è molto simile alle Entities di Gooogle Appengine.
Così come in qualche modo simile è l'idea di uno storage locale per l'ambiente di sviluppo sul PC (anche se poi qui le tabelle finiscono su SQL Express).

Queste Tables sono importanti (in negativo) in quanto impongono di scrivere il codice per il loro utilizzo e non permettono l'uso degli strumenti visual presenti in Visual Web Developer.
In questo modo limitano molto un ipotetico vantaggio che gli ambienti di sviluppo Microsoft avrebbero apportato ad Azure rispetto ad Appengine.

martedì 3 febbraio 2009

controllare i cambiamenti del files system

FileSystemWatcher è un controllo di Visual Basic utile a controllare le modifiche a cartelle o file sotto un percorso definito.

lunedì 26 gennaio 2009

posizionare un ContextMenuStrip in una form

Private Sub Form3_MouseClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseClick

ContextMenuStrip1.Show(PointToScreen(e.Location))


End Sub

domenica 25 gennaio 2009

Esempio inserimento dati in MS-Access con parametro


Imports System.Data.OleDb

Dim cn As OleDbConnection
Dim cmd As OleDbCommand



Try
cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\programmazione.mdb")
'stringa accesso dati
cn.Open()
cmd = New OleDbCommand("insert into tabella1 (a,b) values('prova',?) ", cn)
cmd.Parameters.Add("@b", OleDbType.Char).Value = TextBox4.Text
cmd.ExecuteNonQuery()


Catch
End Try

cn.Close()

Nota.
Si differenzia rispetto ad SQL (che vuole i nomi @nomi e non il ?)

Esempio inserimento dati in MS-SQL con parametro

Imports System.Data.Sql

Dim cn As SqlClient.SqlConnection
Dim cmd As SqlClient.SqlCommand
Try
cn = New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename= " & Chr(34) & "C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\vb.mdf" & Chr(34) & ";Integrated Security=True;Connect Timeout=30;User Instance=True")
cn.Open()
cmd = New SqlClient.SqlCommand("insert into table1 (a,b) values('ii',@b) ", cn)
cmd.Parameters.Add("@b", SqlDbType.Char).Value = TextBox3.Text
cmd.ExecuteNonQuery()

Catch
End Try

cn.Close()
Me.Table1TableAdapter.Fill(Me.VbDataSet.Table1)

Note.
Si differenzia rispetto all'insert dei dati in access (che richiede il ?).

Esempio lettura dati da MS-SQL

Imports System.Data.Sql

Dim cn As SqlClient.SqlConnection
Dim cmd As SqlClient.SqlCommand
Dim dr As SqlClient.SqlDataReader
Try
cn = New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename= " & Chr(34) & "C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\vb.mdf" & Chr(34) & ";Integrated Security=True;Connect Timeout=30;User Instance=True")
cn.Open()
cmd = New SqlClient.SqlCommand("select * from table1 ", cn)
dr = cmd.ExecuteReader()
While dr.Read()
TextBox1.Text = dr(0)
TextBox2.Text = dr(1)
TextBox3.Text = dr(2)
' lettura dati
End While
Catch
End Try

cn.Close()