bonjour tout le monde
je suis entrain de codé une webpart en C# pour un site sharepoint et qui est censée contenir un grid affichant une table d'une base de données, et quelques boutons en bas (j'ai pas encore codé ces boutons), et là j'ai des problèmes dans l'envoie de la requete à mon serveur (j'ai installé en local SQL Server 2003 SP3)
le compilateur ne reconnait pas les variables de type DataSet et SqlConnection ....sachant que je débute en C#
je crois que l'utilisation d'un grid view est meilleure, avez vous un exemple de webpart codée en C# et qui contient un gridview, je vous en serai reconnaissant! j'ai tellement besoin d'un model pareil!!
je vous remercie infiniment
///////////////////
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
//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;
}
}
salut
c'est vraie il me manquait qq usings mais maintenant j'ai un autre problème, j'ai integré les using et tout, mais lors de l'execution j'ai un message m'indiquant que le "IListSource ne contient pas de source de données" sachant que j'ai la même source en VB .NET et qui fonctionne très bien, je te file les deux parties du code :
en VB .NET
////////
Protected Overrides Sub RenderWebPart(ByVal output As System.Web.UI.HtmlTextWriter)
'Dim objDataSet As System.Data.DataSet
'Set up connection string from custom properties
Dim strConnection As String
strConnection = "Data Source=" + SQLServer
strConnection += ";Initial Catalog=" + Database
strConnection += ";Integrated Security=True"
'Query pubs database
Dim strSQL As String = "select * from authors"
'Try to run the query
Try
With New System.Data.SqlClient.SqlDataAdapter
objDataSet = New DataSet("root")
.SelectCommand = _
New System.Data.SqlClient.SqlCommand(strSQL, _
New System.Data.SqlClient.SqlConnection(strConnection))
.Fill(objDataSet, "authors")
End With
Catch ex As Exception
lblMessage.Text = ex.Message
Exit Sub
End Try
'Bind to grid
Try
With grdNames
.DataSource = objDataSet
.DataMember = "authors"
.DataBind()
End With
Catch ex As Exception
lblMessage.Text = ex.Message
Exit Sub
End Try
////////
////////
en C#
////////
protected override void RenderWebPart(HtmlTextWriter output)
{
DataSet objDataSet;
//Set up connection string from custom properties
string strConnection;
strConnection = "Data Source=" + SERVER;
strConnection += ";Initial Catalog=" + DataBase;
strConnection += ";Integrated Security=True";
//Query pubs database
string strSQL = "select * from authors";
//Try to run the query
try
{
objDataSet = new DataSet("root");
SqlDataAdapter dd = new SqlDataAdapter();
SqlConnection conn = new SqlConnection(strConnection);
dd.SelectCommand = new SqlCommand(strSQL, conn);
dd.Fill(objDataSet,"authors");
}
catch (Exception ex)
{
lblMessage.Text = ex.Message;
Bonjour,
a quel endroit te donne t'il cette erreur.
Vérifie si ton VB est bien en "Option Explicit = on"
Car il est important de savoir que VB est beaucoup plus permissif que c# s'il n'est pas configurer correctement.
Je vois que tu utilises deux "Try / Catch", sur lequel tu récupère l'erreur au ".Fill" (Remplissage du DataSet) ? ou sur ton ".DataBind()" (Affichage du dataset).
Peut être que celui ci est tout simplement Vide ? l'as tu tester ?
Autre remarque ou plutôt conseil : pense toujours a effectué des vérification des tes objet plutôt que "trycatcher" autour d'eux, car une exception est beaucoup plus gourmande qu'un test "IF"