Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    ExecuteScalar: la proprietà Connection non è stata inizializzata.

    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???
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    codice:
    SqlCommand cmdCount =newSqlCommand("SELECT * FROM Products", conn);
    conn.Open();
    int count = (int)cmdCount.ExecuteScalar();
    
    Ultima modifica di djciko; 26-09-2014 a 11:35

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Bene bene, grazie al tuo suggerimento ho risolto l'errore precedente, ma ora, con questo codice, me ne viene fuori un'altro:

    codice:
     protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnectionStringBuilder conn = new SqlConnectionStringBuilder();
            conn.DataSource = "localhost\\SQLExpress";
            conn.InitialCatalog = "Daniele";
            conn.IntegratedSecurity = true;
    
    
            SqlConnection connessione = new SqlConnection(conn.ConnectionString);
    
    
            SqlCommand countRecord = new SqlCommand("SELECT * FROM Products", connessione);
            connessione.Open();
            try
            {
    
    
                int conteggio = (int)countRecord.ExecuteScalar();
            }
            catch(NullReferenceException errore)
            {
                Response.Write(errore.ToString());
            }
            
        }
    }
    Riferimento a un oggetto non impostato su un'istanza di oggetto. in connessione.Page_Load(Object sender, EventArgs e) in e:\Progettazione\WebSite2\connessione.aspx.cs:riga 27

    La riga 27 è:

    codice:
    
    
    codice:
     int conteggio = (int)countRecord.ExecuteScalar();
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Problema risolto... avevo commesso un errore nella query, e dopo averla trasformata in:

    codice:
    SELECT COUNT(*) FROM Products
    ora funziona!
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.