Riferimenti stringa connessione
http://msdn.microsoft.com/it-it/library/ms254978(VS.80).aspx

Extended Properties imposta le proprietà specifiche di Excel.
"HDR=Yes;" indica che la prima riga contiene nomi di colonne e non dati,
"IMEX=1;" indica al driver di leggere sempre come testo colonne di dati misti.

ES:

   1:  
2: Es:
3:
   4:  // carico il file...
   5:  FileUpload1.SaveAs(
   6: Server.MapPath("/" + FileUpload1.FileName));
   7:   

   8:  // importo i dati ...
   9:  // Excel 2007
  10:  // ES:
  11:  // Provider=Microsoft.ACE.OLEDB.12.0;Data Source=
:\myFolder\myExcel2007file.xlsx;
  12:  // Extended Properties="Excel 12.0 Xml;HDR=YES";
  13:   
  14:  // excel 2003 
  15:string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +

  16:"Data Source=" + Server.MapPath("/" + FileUpload1.FileName)
+ ";" +
  17:  "Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
  18:   
  19:  OleDbDataAdapter da = new OleDbDataAdapter(
"SELECT * FROM [Sheet1$]", strConn);
  20:   
  21:  DataSet ds = new DataSet();
  22:  da.Fill(ds, "ExcelInfo");
  23:   
  24:  GridView1.DataSource = ds.Tables["ExcelInfo"].DefaultView;
  25:  GridView1.DataBind();

Linq to Sql - Pillole

Pubblicato da Franz | 11.21 | , , , , | 0 commenti »

Esempio Left Join

// riferimenti
// Libro Linq to Sql: pag 224
// http://social.msdn.microsoft.com/forums/en-US/linqprojectgeneral/thread/797a6e7a-84fb-49a4-99d2-512f06c4f93e/

LinqToSqlDataContext dc = new LinqToSqlDataContext();
var l = from t1  in dc.Tabella1s
join t2 in dc.Tabella2s on t1.id equals t2.id

// Left Join SQL = LEFT JOIN TABELLA3 T3  WITH(NOLOCK) ON T1.item=T3.item
// ---------------------------------------------------------------------------------
join t3 in dc.Tabella3s on t1.id equals t3.id3
into joinDictionary
from TablejoinDictionary in joinDictionary.DefaultIfEmpty()
select new
{
campi ....
};

Come non ridere.....:)

Pubblicato da Franz | 16.03 | 0 commenti »

Esiste un piccolo ma interessante tool gratuito di microsoft per visualizzare i file RAW nel visualizzatore di immagini come fossero normali file jpeg, scaricabile da qui: http://www.microsoft.com/downloads/d...displaylang=en

Windows deve essere originale, nella schermata microsoft controllera’ prima del download
se il sistema in uso è originale.

Il tool funziona molto bene

Senza-titolo-1

Fonte:
http://forum.swzone.it/showthread.php?t=90834

Lo scopo è quello di visualizzare delle foto presenti in Flickr nel proprio sito web.
La dll di riferimento con le relative API per far ciò la possiamo trovare qui:
http://www.codeplex.com/Wiki/View.aspx?ProjectName=FlickrNet

1) Il primo passo consiste nel registrarsi in Flickr e prendere la proprio chiave di attivazione per utilizzare le api. La pagina di partenza è questa : http://www.flickr.com/services/api/keys/apply .

2) Scaricare la Dll Flickr.Dll
Utilizzando Visual Studio, si aggiunge la dll ai riferimenti Project –> Add References

3) Possiamo iniziare la costruzione della nostra semplice applicazione

Costruiamo una semplice classe MyFlickrPhoto per le foto che andremo a riprendere:

using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;


[Serializable]
public class MyFlickrPhoto
{
private string _title;
public string Title
{
get { return _title; }
set { _title = value; }
}
private string _webUrl;
public string WebUrl
{
get { return _webUrl; }
set { _webUrl = value; }
}
private int _num;
public int Numero
{
get { return _num; }
set { _num = value; }
}
}

La proprietà Title rappresenta il titolo della Foto, WebUrl il suo indirizzo per visualizzarla e Numero  il numero progressivo.

Struttura della pagina Aspx

<body style="font-size: 11px;">
<form id="form1" runat="server">
<div>
<asp:GridView ID="grdFlickr" CellPadding="4" CellSpacing="0" runat="server" AllowPaging="True"
AutoGenerateColumns="False" OnPageIndexChanging="grdFlickr_PageIndexChanging" PageSize="25">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%# Eval("Numero")%> - <%# Eval("Title")%> - <%# Eval("WebUrl")%>
<br />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerSettings Position="TopAndBottom" />
</asp:GridView>
</div>
</form>
</
body>

Logica della Pagina

public partial class _Default : System.Web.UI.Page
{
public string apikey = "Chiave di flickr";
public List<MyFlickrPhoto> l = new List<MyFlickrPhoto>();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Mi riprendo la lista di tutte le foto
l = PopolaLista();
// Popolo un ViewState
ViewState["MyList"] = l;
// Popolo il gridview
Popola();
}
}


private List<MyFlickrPhoto> PopolaLista()
{
Flickr flickr = new Flickr(apikey);
List<Photos> myPh = new List<Photos>();
PhotoSearchOptions options = new PhotoSearchOptions();
options.Tags = "frontignano"; // tag di ricerca

// possibile specificare anke la ricerca per UserID
//options.UserId = "USER ID FLICKR"
options.PerPage = 100; // Foto per "pagina"
// Mi riprendo tutte le foto
Photos AllPhoto = flickr.PhotosSearch(options);

// Collection di tutte le foto
PhotoCollection mergedCollection = new PhotoCollection();
// Ciclo su tutte le pagine della classa Photos
for (int p = 1; p <= AllPhoto.TotalPages; p++)
{
// Seleziona la pagina
options.Page = p;
//Aggiungo la collezione di foto della pagina alla collection che le conterr tutte
mergedCollection.AddRange(flickr.PhotosSearch(options).PhotoCollection);
}
// Pulisco la lista che andr a popolare la griglia
l.Clear();

// Ciclo sulla collection
for (int i = 0; i < mergedCollection.Length; i++)
{
// valorizzo la mia classe
MyFlickrPhoto p = new MyFlickrPhoto();
p.Numero = i + 1;
p.Title = mergedCollection[i].Title;
p.WebUrl = mergedCollection[i].ThumbnailUrl;
// la inserisco nella lista
l.Add(p);
}
// restituisco la lista appena creata
return l;
}
protected void grdFlickr_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grdFlickr.PageIndex = e.NewPageIndex;
Popola();
}
private void Popola()
{
// Popolo con il ViewState
grdFlickr.DataSource = (List<MyFlickrPhoto>)ViewState["MyList"];
grdFlickr.DataBind();
}
}