Nom d'objet incorrect!??

Signaler
Messages postés
299
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Salut tout le monde,
je suis débutant en sharepoint et en C# et je dois developper des webpart en utilisant ce langage:!
j'ai un code source d'un composant webpart en C# qui contient un datagrid pour afficher des données, bref, lors du deploiment de mon composant , ça m'affiche " 'authors' nom d'objet incorrect" sachant que j'ai bel et bien une table dans ma base de données nomée "authors", je trouve pas ou est le problème
aidez moi SVP


mon code :
/////////
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using System.Data;
using System.Data.SqlClient;




namespace csharp
{


 [DefaultProperty(""),
  ToolboxData("<{0}:Container runat=server></{0}:Container>"),
  XmlRoot(Namespace="csharp")]
 public class Container : Microsoft.SharePoint.WebPartPages.WebPart
 {
  private string strSQLserver = "";
  private string strDatabase = "";


  //SQL Server Name
  [Browsable(true), Category("Miscellaneous"),
  DefaultValue(""),
  WebPartStorage(Storage.Shared),
  FriendlyName("SQLServer"),
  Description("The server where pubs is installed.")]
  public string SERVER
  {
   get
   {
    return strSQLserver;
   }
   set
   {
    strSQLserver = value;
   }
  }


  //Database Name
  [Browsable(true), Category("Miscellaneous"),
  DefaultValue(""),
  WebPartStorage(Storage.Shared),
  FriendlyName("Database"),
  Description("The database where the Enterprise Data is located.")]
  public string DataBase
  {
   get
   {
    return strDatabase;
   }
   set
   {
    strDatabase = value;
   }
  }


  protected DataGrid grdNames;
  protected Label lblMessage;


  protected override void CreateChildControls()
  {
   //Grid to display results
   grdNames = new DataGrid();


   grdNames.Width = Unit.Percentage(100);
   grdNames.HeaderStyle.Font.Name = "arial";
   grdNames.HeaderStyle.Font.Bold = true;
   grdNames.HeaderStyle.ForeColor = System.Drawing.Color.Wheat;
   grdNames.HeaderStyle.BackColor = System.Drawing.Color.DarkBlue;
   grdNames.AlternatingItemStyle.BackColor = System.Drawing.Color.Gainsboro;
   grdNames.AutoGenerateColumns=false;
   grdNames.SelectedItemStyle.BackColor=System.Drawing.Color.Blue;
  
   Controls.Add(grdNames);


   //Label for error messages
   lblMessage = new Label();
 
   lblMessage.Width = Unit.Percentage(100);
   lblMessage.Font.Name = "arial";
   lblMessage.Text = "";
  
   Controls.Add(lblMessage);
  }
  


  //public DataSet objDataSet;
  protected override void RenderWebPart(HtmlTextWriter output)
  {
   string strConnection;
   strConnection = "Data Source=" + SERVER;
   strConnection += ";Initial Catalog=" + DataBase;
   strConnection += ";Integrated Security=True";




   //Try to run the query
   try 
   {
    SqlConnection conn = new SqlConnection(strConnection);
    SqlCommand cmd = new SqlCommand("select * from authors",conn);//
    cmd.CommandType = CommandType.Text;//
    SqlDataAdapter dd = new SqlDataAdapter(cmd);//
    DataTable tt = new DataTable();
    dd.Fill(tt);//
                DataView vv = new DataView(tt);
    grdNames.DataSource = vv;
    grdNames.DataMember = "authors";
    grdNames.DataBind();
   }
   catch (Exception ex)
   {
    lblMessage.Text = ex.Message;
   }
     
            
   //Draw the controls in an HTML table


   output.Write("\");
   output.Write(\"----
\");
   output.Write(\"");
   grdNames.RenderControl(output);
   output.Write(", \");
   output.Write(\"\");
   output.Write(\"----
\");
   output.Write(\"");
   lblMessage.RenderControl(output);
   output.Write(", \");
   output.Write(\"\");
   output.Write("
");
  }
 }
}


////////
merci pour votre aide!

1 réponse

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
Salut,

Déjà évite le "SELECT * ", nomme explicitement les colonnes.
Ensuite prend l'habitude de préfixer les objects par leur schéma, c'est d'ailleurs probablement ton problème si le schéma par défaut du compte utilisé pour la connexion (tu es en SSPI, donc soit ça impersonifie sur un compte commun, soit c'est celui de l'utilisateur connecté) est différent de celui auquel appartient la table "authors".

/*
coq
MVP Visual C#
CoqBlog
*/