Comment obtenir des données de procédure stockée sql dans le dataset avec SqlDataAdapter?
Est-ce une bonne approche pour obtenir des données à partir d'une procédure stockée? Pour exemple procédure est prise select * from base
. Voici mon code, mais j'ai besoin d'aide avec le jeu de données et adaptateur:
public static DataSet Osvezi(string naziv_tablice)
{
SqlCommand cmd = null;
DataSet dataset = null;
SqlConnection konekcija = new SqlConnection(ConfigurationManager.AppSettings["skripta"]);
if (konekcija != null)
{
try
{
if (konekcija.State == ConnectionState.Closed)
konekcija.Open();
cmd = new SqlCommand();
cmd.Connection = konekcija;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Osvezi";
cmd.Parameters.Add(new SqlParameter("@tablica", SqlDbType.Int)).Value = naziv_tablice;
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
//Fill the DataSet using default values for DataTable names, etc
da.Fill(dataset);
return dataset;
}
catch (Exception ee)
{
//Obravnava napak
}
finally
{
konekcija.Close();
konekcija.Dispose();
cmd.Dispose();
}
return dataset;
}
return dataset;
}
le code semble bon, quel est le problème auquel vous êtes confronté à cela?
pourquoi il y a "cmd.ExecuteNonQuery(); "?
Est-ce que votre procédure stockée contient une option de paramètre nommé "@dataSet"?
pourquoi il y a "cmd.ExecuteNonQuery(); "?
Est-ce que votre procédure stockée contient une option de paramètre nommé "@dataSet"?
OriginalL'auteur | 2011-12-28
Vous devez vous connecter pour publier un commentaire.
Essayer celui-ci à la place:
C'est en travaillant que j'ai utilisé ce code pour récupérer des données si la somone besoins peut-être : ` foreach (DataRow dr dans le dataset.Tables[0].Les lignes) { string myVar = dr["ime_uporabnika"].ToString(); } ` merci!!!!!
Vous avez oublié de fermer la connexion, ce qui est extrêmement important.
Non, je n'ai pas
Eh bien, il n'est pas dans l'exemple de code que vous avez posté? Ou êtes-vous en s'appuyant sur "l'utilisation de" déclaration de le faire quand il collecte des ordures?
OriginalL'auteur Oleg Dok
Veuillez corriger les suivantes.
Vous n'avez pas besoin d'ouvrir la connexion.
Il ne devrait pas être de toute commande.ExecuteNonQuery.
Le paramètre de la méthode string, mais le type de données de SqlParameter est SqlDbType.Int.
OriginalL'auteur Rajkumar Vasan