Powerbuilder pour les completement Geeks !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 27-08-2008 08:43:20

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

[RESOLU] Application WebForm avec Datawindow .Net 2.5 et Visual Studio 2008

Bonjour à tous,

J'ai un petit soucis avec l'utilisation de la datawindow .Net 2.5 dans un projet WebForm en C# (Visual Studio 2008).
J'ai réussi à ajouter l'objet transaction (en le codant car impossible de faire le drag&drop comme sur un projet winform => bug d'installation de DW .Net 2.5 ?)
J'arrive à faire un retrieve de la DW.
Par contre les choses se compliquent lorsque je veut faire un updatedata. Impossible d'y arriver et je n'ai pas d'erreur remontée par la transaction. Lorsque je clique sur mon bouton b_update la page se recharge avec une DW vide et les modifs de le DW ne sont pas sauvegardées en base (je précise que les updates properties de la DW sont correctes et fonctionnent dans le DWPainter). Quelqu'un a-t-il réussi à mettre à jour une BDD via la DW .Net en Webform C# ?

Mon code de la page default.aspx :

Code: c#

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Sybase.DataWindow;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {

        protected void Page_Load(object sender, EventArgs e)
        {
            sqlca = new Transaction();
            sqlca.Dbms = DbmsType.Odbc;
            sqlca.AutoCommit = true;
            sqlca.DbParameter = "ConnectString='DSN=n2i-rh'";
            sqlca.Connect();
            dw_intervenant.SetTransaction(sqlca);
        }

        protected void b_retrieve_Click(object sender, EventArgs e)
        {
            dw_intervenant.Retrieve();
        }

        protected void b_update_Click(object sender, EventArgs e)
        {
            dw_intervenant.UpdateData(true);
            Label1.Text = sqlca.ReturnData;
        }
    }
}


et la cs :

Code: c#

namespace WebApplication1 {
    
    
    public partial class _Default {
        
        /// <summary>
        /// Contrôle form1.
        /// </summary>
        /// <remarks>
        /// Champ généré automatiquement.
        /// Pour modifier, déplacez la déclaration de champ du fichier de concepteur dans le fichier code-behind.
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        
        /// <summary>
        /// Contrôle b_retrieve.
        /// </summary>
        /// <remarks>
        /// Champ généré automatiquement.
        /// Pour modifier, déplacez la déclaration de champ du fichier de concepteur dans le fichier code-behind.
        /// </remarks>
        protected global::System.Web.UI.WebControls.Button b_retrieve;
        
        /// <summary>
        /// Contrôle b_update.
        /// </summary>
        /// <remarks>
        /// Champ généré automatiquement.
        /// Pour modifier, déplacez la déclaration de champ du fichier de concepteur dans le fichier code-behind.
        /// </remarks>
        protected global::System.Web.UI.WebControls.Button b_update;
        
        /// <summary>
        /// Contrôle Label1.
        /// </summary>
        /// <remarks>
        /// Champ généré automatiquement.
        /// Pour modifier, déplacez la déclaration de champ du fichier de concepteur dans le fichier code-behind.
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label Label1;
        
        /// <summary>
        /// Contrôle dw_intervenant.
        /// </summary>
        /// <remarks>
        /// Champ généré automatiquement.
        /// Pour modifier, déplacez la déclaration de champ du fichier de concepteur dans le fichier code-behind.
        /// </remarks>
        protected global::Sybase.DataWindow.Web.WebDataWindowControl dw_intervenant;

        /// <summary>
        /// Contrôle sqlca.
        /// </summary>
        /// <remarks>
        /// Bidouillé par bibi car impossible de drag&dropper le control sur la form
        /// </remarks>
        protected global::Sybase.DataWindow.Transaction sqlca;
    }
}

Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#2 27-08-2008 09:19:51

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Application WebForm avec Datawindow .Net 2.5 et Visual Studio 2008

J'ai finalement trouvé. Cela vient des  propriétés AutoRestoreDataCache et AutoSaveDataCacheAfterRetrieve qu'il faut passer à True alors qu'elles sont à false par défaut. Il y a aussi la possibilité de coder le SaveDataCache et le RestoreDataCache manuellement...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22