bonjour,
voilà mon soucis, je dois tester l'accès à une base de données, et envoyer le résultat via un event j'ai donc écrit ceci :

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
 
    delegate void OnConnectionEventHandler(object sender, SqlEventArgs e);
 
    class TestConnection
    {
        public event OnConnectionEventHandler ConnEvent=null;
 
        private string connString = "Server=.;Database=tests;Trusted_Connection=True;";
 
        public void TestConnectionMethod()
        {
 
            SqlConnection myConn = new SqlConnection(connString);
            bool isOpened = false;
            string message = string.Empty;
 
            try
            {
                myConn.Open();
                myConn.Close();
                isOpened = true;
                message = "Connection opened";
            }
            catch (Exception ex)
            {
                isOpened = false;
                message = "can't open connection" + ex.Message.ToString();
            }
 
            ConnEvent(this, new SqlEventArgs(message, isOpened));
        }
    }
}
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
namespace SQL_Server___Reader
{
    class SqlEventArgs:EventArgs
    {
        public string strSqlMessage { get; set; }
        public bool bSqlState { get; set; }
 
        public SqlEventArgs(string sysMessage,bool bSysMessage)
        {
            this.strSqlMessage = sysMessage;
            this.bSqlState = bSysMessage;
        }
    }
}
enfin dans le corps du programme de test :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
        static void Main(string[] args)
        {
            TestConnection t = new TestConnection();
            t.TestConnectionMethod();
 
            t.ConnEvent += new OnConnectionEventHandler(t_ConnEventHander);
            Console.ReadLine();
        }
 
        static void t_ConnEventHander(object sender, SqlEventArgs e)
        {
                Console.WriteLine(e.strSqlMessage);
        }
Mais à chaque lancement du programme j'ai cette erreur :

System.NullReferenceException was unhandled
Message=Object reference not set to an instance of an object.
Source=SQL Server - Reader
StackTrace:
at SQL_Server___Reader.TestConnection.TestConnectionMethod() in D:\Documents\Visual Studio 2010\Projects\SQL Server\SQL Server - Reader\TestConnection.cs:line 37
at SQL_Server___Reader.Program.Main(String[] args) in D:\Documents\Visual Studio 2010\Projects\SQL Server\SQL Server - Reader\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
Auriez vous une idée, s'il vous plait ?
merci par avance .