Weborb + Flex: impossible de lancer une méthode sur une base de données
Bonjour,
Le problème est le suivant:
Depuis Flex, je lance une méthode nommée addObject qui est censée ajouter des valeur dans une base de données SQL Server 2008.
Au moment de lancer la méthode, j'ai l'erreur suivante:
unable to find method in class. method name addObject
Pourtant, si je vais dans le management de WebORB, je retrouve bel et bien mon namespace Exemple.no1, ma classe WorkerDB, ainsi que ma méthode addObject.
Voici mon code Flex:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Panel x="10"
y="21"
width="355"
height="216"
layout="absolute">
<mx:Form x="10"
y="10"
width="315"
height="133">
<mx:FormItem label="pk">
<mx:TextInput id="textPk"/>
</mx:FormItem>
<mx:FormItem label="valeur">
<mx:TextInput id="textValeur"/>
</mx:FormItem>
</mx:Form>
<mx:Button x="33"
y="151"
label="envoyer"
click="remote.addObject(textPk.text as Number, textValeur.text)"/>
</mx:Panel>
<mx:RemoteObject id="remote"
destination="GenericDestination"
source="Exemple.no1.WorkerDB"
result="resultAdd(event)">
<mx:method name="addObject"
fault="faultAdd(event)"/>
</mx:RemoteObject>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public function resultAdd(event:ResultEvent):void
{
Alert.show("pk: " + event.result.pk + "\n" + "valeur: " + event.result.valeur, "Transaction réussie");
}
public function faultAdd(event:FaultEvent):void
{
Alert.show(event.fault.faultString, "erreur");
}
]]>
</mx:Script>
</mx:Application> |
Le code C#:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
namespace Exemple.no1
{
public class WorkerDB
{
public static void Main()
{
}
public Objet addObject(int pk, string valeur)
{
try
{
string connectString = "Data Source=BRUNETTI-SERVER\\SQLEXPRESS;Initial Catalog=test;Persist Security Info=True;User ID=SQL_ADMIN;password=******;";
SqlConnection myConnection = new SqlConnection(connectString);
myConnection.Open();
Console.WriteLine("that's working for the connection");
Objet o = new Objet();
o.pk = pk;
o.valeur = valeur;
SqlCommand myCommand = new SqlCommand("INSERT INTO T_Test Values (" + pk + ",'" + valeur + "')", myConnection);
myCommand.ExecuteNonQuery();
return o;
}
catch (Exception e)
{
Console.WriteLine("Exception: " + e.ToString());
return null;
}
}
public class Objet
{
public int pk;
public string valeur;
}
}
} |
Merci d'avance !!