2010-01-11 8 views
0

La propriété SelectCommand n'a pas été initialisé avant d'appeler « Fill »La propriété SelectCommand n'a pas été initialisé avant d'appeler « Fill »

Je reçois cette erreur lors de l'exécution StoredProcedure.ExecuteDataSet();

DataSet ds= new DataSet(); 
     SqlDataAdapter ada = new SqlDataAdapter(); 
     try 
     { 
      ada.Fill(ds); 
     } 
     catch { } 
+1

S'il vous plaît nous montrer votre code. – SLaks

+0

fournisseur privé IDataProvider en lecture seule; private RACWebsite.RACWebsiteDB _db; provider = ProviderFactory.GetProvider ("Connexion"); _db = new RACWebsite.RACWebsiteDB (provider.ConnectionString, provider.Name); SubSonic.Schema.StoredProcedure sp = _db.GetCaseByID (ID du cas); DataSet ds = sp.ExecuteDataSet(); –

+0

J'ai été en mesure de résoudre ce problème en ajoutant da.SelectCommand = cmd; avant le remplissage –

Répondre

5

j'ai pu résoudre ce problème en ajoutant le code suivant:

[162] DbDataAdapter da = Factory.CreateDataAdapter();
[163] da.SelectCommand = cmd; < - ajouter cette
[164] da.Fill(ds);

Hope this helps si quelqu'un d'autre a eu ce problème ...

3

j'étais havin g ce problème et cette ligne a fait fonctionner ....

Protected Sub searchButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles searchButton.Click 
    Try 
     Dim dt As New Data.DataTable 
     Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("connection1").ToString()) 
     Dim cmd As New SqlCommand("getAllPerson", con) 
     cmd.CommandType = Data.CommandType.StoredProcedure 

     cmd.Parameters.Add("@id", Data.SqlDbType.Int).Value = CInt(SearchBox.Text) 

     Dim da As New SqlDataAdapter 
     da.SelectCommand = cmd 
     da.Fill(dt) 

     fnameTextBox.Text = dt.Rows(0).Item("FName") 
     lnameTextBox.Text = dt.Rows(0).Item("LName") 
     dobTextBox.Text = dt.Rows(0).Item("DOB") 
     addressTextBox.Text = dt.Rows(0).Item("Address") 
     address1TextBox.Text = dt.Rows(0).Item("Address1") 
     contactTextbox.Text = dt.Rows(0).Item("ContactNo") 
    Catch ex As Exception 
     MsgBox(ex.Message.ToString()) 
    End Try 

End Sub 
+0

Bonne réponse. a bien fonctionné. – htm11h