35 messaggi dal 06 ottobre 2007
Salve a tutti!

Al lavoro ho la necessità di creare una WEb PArt che si connette ad un database.

Ho realizzato un accesso diretto al database, ma la stringa di connessione dovrei metterla nel web.config e questo non me lo permette.

Vorrei sapere se qualcuno potrebbe darmi una dritta su come stabilire una connessione (lettura e scrittura ) su database con le web part di sharepoint.

lavoro con visual studio 2005 e le estensioni di sharepoint.


Ho poi creato una pagina aspx con visual studio con tanto di web.config che funziona.

Quando poi la importo nel sito (con sharepoint designer) non mi permette di aggiungere il web.config, un avviso spiega che i file web.config sono bloccati dall'amministratore.

COme sbloccarli???

Grazie tante

ps Se qcl non è chiaro sono pronto a dare più dettagli...
Modificato da selecthelp il 04 settembre 2008 12.49 -
se non ti danno la possibilità di modificare il web.config, puoi sempre memorizzare la stringa di connessione in un file xml, o cablarla nel codice.

meglio se l'amministratore aggiunge la riga necessaria al web.cofig, visto che tanto di dovrà mettere mano per aggiungere la WebPart sotto la sezione SafeControls del web.config

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
35 messaggi dal 06 ottobre 2007
Cerco di spiegare meglio il mio problema.

Innanzitutto posso fare quello che voglio (prima però devo capire cosa fare).
Qui purtroppo non c'è nessuno che ne capisce.

Il primo problema riguarda le Web Part.

Qui sotto riporto parte del codice della Web Part che non fa altro che prendere i campi riempiti dall'utente e inserirli nel database quando l'utente clicca sul bottone btnConferma.


using System;
using System.Data;
using System.Configuration;
using System.Drawing;
using System.Data.SqlClient;
using System.Web.DataAccess;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;
using System.Web.UI.WebControls; 
using System.Text; 
using System.Resources; 
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;

namespace RiservazioniAuto
{
    [Guid("d200cafe-ec95-4950-958d-86bba48760e4")]
    public class RiservazioniAuto : System.Web.UI.WebControls.WebParts.WebPart
    {
        public RiservazioniAuto()
        {
            this.ExportMode = WebPartExportMode.All;
        }

        // Definisco i controlli figli
        
        [... OMESSO ... ]   

        //
    }
    //
    //==================================================================
    // ONLOAD EVENT:
    protected override void OnLoad(System.EventArgs e)
    {
        base.OnLoad(e);
        if (Page.IsPostBack)
        {
            [ ... OMMESSO ... ]
        }
    }
    //
        //==================================================================
        // EVENT HANDLERS:
        void btnAnnulla_Click(object sender, EventArgs e)
        {
            [... OMESSO ... ]
        }

        void btnConferma_Click(object sender, EventArgs e)
        {
            string strAuto = txtAuto.Text;
            string strDescrizione = txtDescrizione.Text;
            InserisciDati(strAuto, strDescrizione);

            lblSuccesso.Text = "Riservazione salvata con successo!";
        }

        private static void InserisciDati(string m, string o)
        {  
            SqlConnection connessione = new SqlConnection(Data Source=sgv003;Initial Catalog=SGBachecaElettronica;Integrated Security=True);
            connessione.Open();
            string strQuery = "INSERT INTO Automobili (auto_nome, auto_desc) VALUES ('" + m + "','" + o + "')";
            SqlCommand commando = new SqlCommand(strQuery, connessione);
            commando.ExecuteScalar();
            connessione.Close(); 
        }

        // RENDER EVENT:
        protected override void Render(HtmlTextWriter writer)
        {
            [ ... OMESSO ... ]
        }
    }
}



L'errore dovrebbe essere in questa stringa che si trova nel metodo che inserisci i due campi:

SqlConnection connessione = new SqlConnection(Data Source=sgv003;Initial Catalog=SGBachecaElettronica;Integrated Security=True);

Con Visual Studio quando si fa il debug ti carica direttamente la web part nel sito sharepoint e aggiunge nel web.config il safecontrols.

Poichè non andava ho provato ad usare sharepoint designer e rifare la stessa cosa, solo che con sharepoint designer non posso scrivere C# o almeno credo che non si posso scrivere.
Ho provato di tutto.

QUindi prima domanda:

- come fare funzionare la web part per scrivere e leggere nel database?

seconda domanda:

- come scrivere codice c# in sharepoint designer?

Spero di essere stato più chiaro

GRAZIE
scusa è una svista del copia ed incolla o mancano le virgolette:

SqlConnection connessione = new SqlConnection(Data Source=sgv003;Initial Catalog=SGBachecaElettronica;Integrated Security=True); 


hai il messaggio d'errore?

le estensioni di sharepoint se non le usi è maglio, io lo dico perche a me non hanno mai e dico mai funzionato, è meglio se prendi dimestichezza con il tool a riga di comando

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
35 messaggi dal 06 ottobre 2007
Ha funzionato ora... lo stesso codice copiato qui sopra

Non so come mai ...

Grazie lo stesso a tutti.

Cmq con le estensioni di sharepoint è comodo perchè fa tutto lui...

cmq mi spieghi dove trovare info sul tools a riga di comando?

grazie
Modificato da selecthelp il 04 settembre 2008 16.29 -
Modificato da selecthelp il 04 settembre 2008 16.29 -
sono contento che a te funzionino, io non sono stao così fortunato, trovi la documentazione quà:

http://technet.microsoft.com/en-us/library/cc288981.aspx

ma scusa come fa a funzionarti se scrivi:

SqlConnection connessione = new SqlConnection(Data Source=sgv003;Initial Catalog=SGBachecaElettronica;Integrated Security=True); 


e non

SqlConnection connessione = new SqlConnection("Data Source=sgv003;Initial Catalog=SGBachecaElettronica;Integrated Security=True"); 


ciao marco

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

http://nostromo.spaces.live.com/default.aspx
35 messaggi dal 06 ottobre 2007
Ciao Marco,

scusa ma leggo solo ora il tuo messaggio anche perchè non trovavo più la password di questo account e ho dovuto crearne un altro che tu hai gia conosciuto... il mio ononimo sharepointhelp.

Si tratta di un errore di copia e incolla...

funziona benissimo ora l'accesso al db...
ho qcl problemino con le dropdownlist.

Un problema che non riesco a risolvere con visual studio è che una volta caricate le web part sul sito, non riesco più a cancellarle.

Si cancellano dalla libreria ma non del tutto.

Quando faccio i backup del sito tramite la procedura di central administation sotto operations tab, allora come penso sai le web part create non vengono copiate come si deve, ci sono ancora ma sono inutilizzabili.

E non riesco neanche a cancellarle.

Sai magari come cancellarle da linea di comando?
grazie ancora

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.