1

I need every Thread to connect to one database and execute some query and maybe some Thread in one time can execute the query .

I create a static class for connecting to SQL database with ADO.NET :

public static class ADOFire
{

    static System.Data.SqlClient.SqlConnection Cnn = new System.Data.SqlClient.SqlConnection();
    public static string CnnString { get; set; }
    public static void CreateConnection()
    {

        if (Cnn.State == ConnectionState.Open)
            return;
        Cnn.ConnectionString = CnnString = ConfigurationManager.ConnectionStrings["CnnString"].ToString();
        if (Cnn.State != System.Data.ConnectionState.Open) Cnn.Open();
    }


    public static System.Data.DataTable GetTable(System.Data.SqlClient.SqlCommand Com, System.Data.SqlClient.SqlDataAdapter Ada, string ComText)
    {
        CreateConnection();
        Com.Connection = Cnn;
        Ada.SelectCommand = Com;
        try
        {
            System.Data.DataTable T = new System.Data.DataTable();
            Com.CommandText = ComText;
            Ada.Fill(T);
            return T;
        }
        catch { return null; }
    }
}

and in here in each thread I call static function like this :

System.Data.SqlClient.SqlCommand Com = new System.Data.SqlClient.SqlCommand();
System.Data.SqlClient.SqlDataAdapter Ada = new System.Data.SqlClient.SqlDataAdapter();
Datatable dt =  ADOFire.GetTable(Com ,Ada ,"Select * from X");

My questions :

  1. Can a connection serve different threads at the same time? (one connection for all)
  2. Isn't the problem of data clutter due to the static function ?

Is there a possibility of a problem in this example? Any opinion can be useful to me.

0 Answers0