|
Di seguito gli interventi pubblicati in questa sezione, in ordine cronologico.
Di Admin (del 01/02/2010 @ 05:37:06, in .NET, linkato 127 volte)
La shell del vecchio DOS permetteva di manipolare i nomi dei file ricorrendo anche all'uso delle wildcard come l'asterisco o il punto di domanda. Con powershell ci si può spingere oltre utilizzando anche costrutti tipici di altri linguaggi come il for each; nell'esempio che segue si vuole cambiare nome ai file di un elenco (anche kilometrico!  ) anteponendo la stringa "Title - " al nome del file: Directory: C:\PowerShellMode LastWriteTime Length Name---- ------------- ------ -----a--- 01/02/2010 5.33 804 1.txt-a--- 01/02/2010 5.33 1046 2.txtPS C:\PowerShell> foreach ($file in dir) {Rename-Item $file -NewName ("Title - " + $file.Name)}PS C:\PowerShell> dir Directory: C:\PowerShellMode LastWriteTime Length Name---- ------------- ------ -----a--- 01/02/2010 5.33 804 Title - 1.txt-a--- 01/02/2010 5.33 1046 Title - 2.txtMoooolto carino!
Di Admin (del 01/05/2009 @ 05:11:21, in .NET, linkato 185 volte)
Mi capita molto spesso che mi venga chiesto come sia possibile importare dei dati residenti in fogli di lavoro di Microsoft Excel in una o più tabelle di Microsoft Access.
Vi propongo una delle vie più semplici che possiate seguire utilizzando poche e semplici righe di codice VBA in Access. In questo caso l'obiettivo è quello di inserire in una tabella del database le righe di una ben definita area di celle del foglio di calcolo, note a priori; naturalmente raffinandola logica dell'agoritmo possiamo rendere dinamica l'identificazione delle celle popolate con dati.
Dim i As Long i = 1 Dim FileDatiDaImportare As String Dim cmd As String FileDatiDaImportare = "NomeDelFileExcel.xls"
'Apriamo il file Excel Workbooks.Open FileName:=FileDatiDaImportare ' ciclo fino alla riga A67; ultima con risposte While i < 75 '(Worksheets("Ordini").Range("A" & i) <> "" And Worksheets("Ordini").Range("B" & i) <> "") 'aggiungo una riga del foglio Excel alla tabella cmd = "INSERT INTO T_Ordini (Prodotto, quantita) " & _ "VALUES (" & Worksheets("Ordini").Range("A" & i) & """, """ & Worksheets("Ordini").Range("B" & i) & """)" DoCmd.RunSQL (cmd) 'passo alla prossima riga i = i + 1 Wend 'Chiude il file Excel Excel.Application.Quit MsgBox "Importazione degli ordini eseguita con successo." End If
Il tutto si riduce, quindi, ad un ciclo (il ciclo While ... Wend, in questo caso) e ad una INSERT nella tabella (INSERT into T_Ordini seguita da DoCmd.RunSQL). Ricordatevi di chiudere il file Excel ( Excel.Application.Quit) altrimenti rimarrà in memoria un'istanza dell'applicazione "appesa"....
Di Admin (del 10/07/2007 @ 19:16:30, in .NET, linkato 3204 volte)
Di seguito propongo una strada per inserire direttamente nel file di configurazione web.config la stringa di connessione ad un database. Il vantaggio di questo approccio è quello di avere centralizzato la definizione della connessione in un unico file ed inoltre che questa è definita all'esterno delle pagine compilate (questo si traduce nella possibilità di modificare la stringa di connessione o suoi parametri "al volo").
|
... Protected Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs) Dim sqlConn As SqlConnection Dim sqlCmd As SqlCommand Dim strConnection As String
'Get connection string from Web.Config strConnection = ConfigurationSettings.AppSettings("ConnectionString") sqlConn = New SqlConnection(strConnection) sqlCmd = New SqlCommand("SELECT * FROM MyTable)", sqlConn) sqlConn.Open() .... .... sqlConn.Close() End Sub
|
Codice nella default.aspx che accede al db
|
<?xml version="1.0" encoding="utf-8" ?> <!-- Web.Config Configuration File --> <configuration> <system.web> <customErrors mode="Off"/> </system.web> <appSettings> <add key="ConnectionString" value="server=tuoServer; database=tuoDB;uid=sa;password=pwd;" /> </appSettings> </configuration>
|
Configurazione della stringa di connessione nel file web.config
Di Admin (del 12/07/2006 @ 09:32:44, in .NET, linkato 301 volte)
La soluzione al problema è del tutto analoga alla versione per VB.NET, con le ovvie modifiche per adattare il codice al linguaggio diverso; in realtà ho consultato più di qualche fonte per ispirarmi e costruire qualcosa di funzionante; in definitiva lavoro con C# da poco tempo.... Per stabilire se il pc è collegato ad internet, quindi, è sufficiente istanziare una 'HttpWebRequest' verso un host funzionante (al solito, il consiglio è quello di scegliere un indirizzo fail-proof come google o mamma m$) e verificare che lo 'StatusCode' del 'HttpWebResponse' di ritorno sia 'OK'. Questa funzione mi è di supporto in un programmino che effettua altri controlli e quindi ho deciso che il Main() mi restituisca solo un booleano. public bool ConnectionOn() { // Istanzio i miei oggetti per la verifica HttpWebRequest Richiesta; HttpWebResponse Risposta; try { // Definisco l'indirizzo per la prova Richiesta = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com"); Risposta = (HttpWebResponse)Richiesta.GetResponse();
if (Risposta.StatusCode.ToString().Equals("OK")) { // OK, connessione attiva perchè l'host è raggiungibile return true ; } else { // No, l'host non è raggiungibile. Lo 'StatusCode' chiarisce? return false; } } catch { // Connessione non attiva. return false; } }
Di Admin (del 29/06/2006 @ 13:30:39, in .NET, linkato 365 volte)
Per visualizzare a schermo uno o più files xml, è possibile costruire un semplice programmino che, ciclando su ognuno dei parametri passati alla riga di comando, legga i file utilizzando prima l'oggetto FileStream e poi l'XMLTextReader. Specificando inoltre di visualizzare il nodo soltanto se ha definito al suo intenro degli attributi mediante la condizione ' HasAttributes', ci garantiamo di escludere i nodi privi di informazioni. Naturalmente i files XML in ingresso al programma devono essere well-formed in accordo con la normativa e le specifiche del W3C ( http://www.w3.org/TR/REC-xml). Di seguito il codice: using System; using System.IO; using System.Xml; using System.Collections;
class leggeXml { static void Main(string[] args) { // Ciclo su tutti i files indicati nella riga di comando for (int indicearg = 0; indicearg < args.Length; indicearg++ ) { // ad ognuno associo un oggetto FileStream per la lettura del file try { // verifico se il file specificato esiste o meno FileStream fs = new FileStream(args[indicearg], FileMode.Open); XmlTextReader readxml = new XmlTextReader(fs); //Finchè leggo qualcosa nel file ciclo sui nodi del file xml while (readxml.Read()) { // quando incontro un nodo che ha anche degli attributi allora lo visualizzo in output if (readxml.NodeType == XmlNodeType.Element && readxml.HasAttributes) { while (readxml.MoveToNextAttribute()) { Console.WriteLine(readxml.Name + "= " + readxml.Value); } } } readxml.Close();
fs.Close(); } catch { // No, il file non esiste. System.Console.Write("Nome del file non valido."); } } // fine ciclo sui parametri della riga di comando } }
|