bonjour,

voici une partie de mon code qui génère une erreur que je n'arrive pas à résoudre :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
using System;
using System.Web.UI.WebControls;
using System.Workflow.Runtime;
using TicketLocalServices;
using TTS_Classes;
using System.Workflow.Runtime.Hosting;
using System.Workflow.Activities;
using System.Web;
....    
protected void btn_Click(object sender, EventArgs e)
    {
        ...
        Guid instanceId = new Guid(this.lblWorkflowInstanceId.Text);
        ...
 
        string[] TicketInfo = new string[2];
        TicketInfo[0] = txtTicketNumber.Text;
        TicketInfo[1] = txtTicketClient.Text;
 
        switch (currentButton.ID)
        { 
            case "btnCreateTicket":
                ...
                TicketService.RaiseTicketCreatedEvent(TicketInfo, instanceId);
                TTS_SQL.InsertTicket(TicketInfo, instanceId);
                ...
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
 
namespace TTS_Classes
{
	public class TTS_SQL
	{
        public TTS_SQL ()
        {
        }
        private static string strConnexion = "Server=server;Database=TTS;UID=sa;PWD=sa;";
 
        public void InsertTicket(string[] TicketInfo, Guid instanceId){
            string SQLQuerry = "INSERT INTO Ticket values ('@numero','@date','@client','@instanceId')";
            SqlConnection oConnection = new SqlConnection(strConnexion);
            try
            {
                SqlCommand c = new SqlCommand(SQLQuerry, oConnection);
                c.Parameters.AddWithValue("@numero", TicketInfo[0].ToString());
                c.Parameters.AddWithValue("@date", DateTime.Now.ToString());
                c.Parameters.AddWithValue("@client", TicketInfo[1].ToString());
                c.Parameters.AddWithValue("@instanceId", instanceId.ToString());
 
                oConnection.Open();
                c.ExecuteNonQuery();
            }
            finally
            {
                oConnection.Close(); 
            }
        }
     }
}
j'obtient cette erreur à la compilation :
Aucune surcharge pour la méthode 'InsertTicket' ne prend d'arguments '2' C:\Visual Studio 2005\Projects\ASPNETStateMachineWorkflow\WebSite1\Default.aspx.cs 92 17 C:\...\WebSite1\

2 arguments à la définition, 2 arguments à l'appel, j'y capte rien

si je vire le 2e argument j'ai encore mieux :

appel : TTS_SQL.InsertTicket(TicketInfo);
déclaration : public void InsertTicket(string[] TicketInfo){
erreur : Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique 'TTS_Classes.TTS_SQL.InsertTicket(string[])' C:\Visual Studio 2005\Projects\ASPNETStateMachineWorkflow\WebSite1\Default.aspx.cs 92 17 C:\...\WebSite1\


Donc je veux passer un tableau en paramètre et ça explose à tous les coups, ce que je ne comprends vraiment pas c'est que les même paramètres dans une autre fonction avec une déclaration identique ne posent pas de problèmes.

J'ai bien une piste, ma classe TTS_SQL n'hérite pas d'une classe alors que l'autre classe ne posant pas de problème si; mais je vois pas quelle classe mettre pour l'héritage.
Sinon un problème d'interface pour cette classe ?

Une idée svp ?