Ho questo codice:

codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data;
using System.Configuration;
using System.Data.Sql;
using System.Data.SqlClient;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       


    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
        builder.DataSource = "localhost";
        builder.InitialCatalog = "Daniele";
        builder.IntegratedSecurity = true;








        try
        {


            SqlConnection conn = new SqlConnection(builder.ConnectionString);
            
            Response.Write("Stringa di connessione attualmente in uso: " + conn.ConnectionString);
            
            if (conn.State != ConnectionState.Closed)
            {
                Response.Write("La connessione è ancora aperta!");
            }
            else
            {
                Response.Write("La connessione è stata chiusa!");
            }








        }


        catch (SqlException controllo)
        {




            Response.Write("Ops... c'è un problema: " + controllo.Message.ToString() + " Codice Errore: " + controllo.ErrorCode.ToString());


        }




        try
        {
            SqlCommand cmdCount = new SqlCommand("SELECT * FROM Products");
            
            int count = (int)cmdCount.ExecuteScalar();
        }


        catch (InvalidOperationException errore)
        {
            Response.Write(errore.ToString());
        }
        }
        
        
}
Quando provo a lanciare la query, mi viene fuori il seguente errore:

ExecuteScalar: la proprietà Connection non è stata inizializzata.

Cosa sbaglio???