2010-04-19 6 views
0

Pourquoi ce code ne fonctionne pas, quand je veux exécuter ce code vwd 2008 express montrez-moi ce message d'erreur: Nom d'objet 'réponses' invalide.asp.net procédure stockée problème

ceci est mon code ascx.cs:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.Security; 
using System.Data.SqlClient; 
using System.Configuration; 
public partial class odgl : System.Web.UI.UserControl 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     string connectionString = 
    @"SANATIZEDSTRING!!!!"; 


     using (SqlConnection cn = new SqlConnection(connectionString)) 
     { 


    using (SqlCommand dohvati = new SqlCommand("dbo.get_answers",cn)) { 


     dohvati.CommandType = CommandType.StoredProcedure; 
     SqlParameter izracun = new SqlParameter("@count", SqlDbType.Int); 
     izracun.Direction = ParameterDirection.Output; 

     dohvati.Parameters.Add(izracun); 

     cn.Open(); 


     dohvati.ExecuteNonQuery(); 
     int count = Int32.Parse(dohvati.Parameters["@count"].Value.ToString()); 

     Response.Write(count.ToString()); 


     cn.Close(); 

    } 

} 

    } 
} 

et ceci est ma procédure stockée :

set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
GO 
ALTER procedure [dbo].[get_answers] 
@ukupno int output 


as 
select @count= (SELECT COUNT(*) FROM answers) 
go 
+3

Pour référence ultérieure, jamais inclure votre chaîne de connexion SQL Server dans votre code que vous mettez sur une bande site pour tout le monde à voir. –

Répondre

3

On dirait que vous ne disposez pas d'une table answers dans votre schéma dbo de la base de données estudent_pioo sur le serveur xxxxx\PADME.

Et la procédure stockée que vous avez publiée ne serait même pas exécutée. Peut-être que vous vouliez dire:

set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
GO 

ALTER procedure [dbo].[get_answers] 
    @count int output 

as 
    select @count= (SELECT COUNT(*) FROM answers) 
go 
1

Le problème semble exister dans votre procédure ... Etes-vous sûr réponse table existe et appartient à un schéma dbo?

0

Est-ce que 'répond' à une table ou à une vue dans le même BD que votre procédure stockée? Essayez d'exécuter la procédure stockée directement à partir de SQL.

On dirait que vous allez aussi avoir des problèmes avec le paramètre. Devrait être @count?

1

Assurez-vous que vous avez spécifié le bon DB pour se connecter à la chaîne de connexion

Questions connexes