Usuário com melhor resposta
Como usar stored procedures no reportviewer usando o visual studio 2010

Pergunta
-
//o erro está nessa linha
this.sp_RelVendasTableAdapter.Fill(this.AcompanhamentoVendaDataSet.sp_RelVendas);
mensagem de erro:Error 4 No overload for method 'Fill' takes 1 arguments
só consigo usar relatorios pegando os dados da tabela... mas quando uso stored procedure dá esse erro... eu usava o reportviewer no visual studio 2005 mas no 2010 está muito diferente e nao encontro nada relacionado.
[]'s,
agradecido desde já =)
Respostas
-
Olá Alvaro,
Tudo beleza?
Veja se isto lhe ajuda:
'* Declare objects Dim sqlCon As New SqlConnection Dim sqlCmd As New SqlCommand Dim myDS As New DataSet Dim sqlDA As New SqlDataAdapter '* Read connection string from application config file sqlCon.ConnectionString = WinLocalRepTest.My.Settings.NorthwindConnectionString '* Set up command object sqlCmd.Connection = sqlCon sqlCmd.CommandText = "up_Fill_Employee_Combo" sqlCmd.CommandType = CommandType.StoredProcedure '* Set up data adapter and fill dataset sqlDA.SelectCommand = sqlCmd sqlDA.Fill(myDS, "Employees") '* Name property of data set (first parameter below) MUST be the same name '* as the data set used at design time. While this name can be changed in the '* report xml specification it must be manually changed everywhere it occurs. '* Choose a meaningful name when the dataset is created. '* Note here that the dataset table can be established as a ReportDataSource Dim myRDS As New _ Microsoft.Reporting.WinForms.ReportDataSource("NorthwindDataSet_up_Fill_Employee_Combo", myDS.Tables("Employees")) '* Clear out default datasource and add new one (with same structure). ReportViewer1.LocalReport.DataSources.Clear() ReportViewer1.LocalReport.DataSources.Add(myRDS) '* Show report automatically at form load Me.ReportViewer1.RefreshReport()
Tirei deste exemplo: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/f845d74d-3fbc-4601-bccb-3bb350099d32[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique- Marcado como Resposta Alvaro VDL Filho segunda-feira, 30 de janeiro de 2012 16:16
-
Olá,
O método Fill é responsável por popular o DataSet com os dados do banco de dados, e o parâmetro que aceita uma string, onde esta sendo passado o valor "Employees" indica com qual nome será criado uma DataTable dentro do DataSet. Esse parâmetro não é impactante.
"NorthwindDataSet_up_Fill_Employee_Combo" é apenas o nome do DataSource que deve ser criado.
Para utilizar parâmetros vc pode fazer assim:
ReportParameter p1 = new ReportParameter("param1", _p1); ReportParameter p2 = new ReportParameter("param2", _p2); ReportParameter p3 = new ReportParameter("param3", _p3); ReportParameter p4 = new ReportParameter("param4", _p4); this.ReportViewer2.LocalReport.SetParameters(new ReportParameter[] {p1, p2, p3, p4});
outro link:
http://forums.asp.net/t/1240076.aspx/1
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique- Marcado como Resposta Alvaro VDL Filho segunda-feira, 30 de janeiro de 2012 16:15
Todas as Respostas
-
Boa tarde, amigo !
Aqui um artigo que explica, certinho:
http://www.macoratti.net/08/03/vb8_rpv3.htm
Abraços... E se for útil marque como resposta :)
Evandro Aguiar
http://wta3.com.br
Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh- Sugerido como Resposta EvandroAS domingo, 29 de janeiro de 2012 17:59
-
A Lógica é a seguinte.
A Sua fonte de dados no REPORTVIEWER deve Receber os dados que vieram pela consulta realizada pela Stored Procedure
Artigos e Dicas VB.NET, C#, SQL, Report viewer e WPF
Siga @PauloHDSousa -
-
-
Olá Alvaro,
Tudo beleza?
Veja se isto lhe ajuda:
'* Declare objects Dim sqlCon As New SqlConnection Dim sqlCmd As New SqlCommand Dim myDS As New DataSet Dim sqlDA As New SqlDataAdapter '* Read connection string from application config file sqlCon.ConnectionString = WinLocalRepTest.My.Settings.NorthwindConnectionString '* Set up command object sqlCmd.Connection = sqlCon sqlCmd.CommandText = "up_Fill_Employee_Combo" sqlCmd.CommandType = CommandType.StoredProcedure '* Set up data adapter and fill dataset sqlDA.SelectCommand = sqlCmd sqlDA.Fill(myDS, "Employees") '* Name property of data set (first parameter below) MUST be the same name '* as the data set used at design time. While this name can be changed in the '* report xml specification it must be manually changed everywhere it occurs. '* Choose a meaningful name when the dataset is created. '* Note here that the dataset table can be established as a ReportDataSource Dim myRDS As New _ Microsoft.Reporting.WinForms.ReportDataSource("NorthwindDataSet_up_Fill_Employee_Combo", myDS.Tables("Employees")) '* Clear out default datasource and add new one (with same structure). ReportViewer1.LocalReport.DataSources.Clear() ReportViewer1.LocalReport.DataSources.Add(myRDS) '* Show report automatically at form load Me.ReportViewer1.RefreshReport()
Tirei deste exemplo: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/f845d74d-3fbc-4601-bccb-3bb350099d32[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique- Marcado como Resposta Alvaro VDL Filho segunda-feira, 30 de janeiro de 2012 16:16
-
fernando,
O artigo ajudou bastante, mas fiquei com algumas duvidas em relação a 2 linhas desse codigo...
1 - sqlDA.Fill(myDS, "Employees")
o que é esse Fill? , esse myDS é uma variavel que estou criando com o nome de "Employees"?
2 - Microsoft.Reporting.WinForms.ReportDataSource("NorthwindDataSet_up_Fill_Employee_Combo", myDS.Tables("Employees"))
de onde vem esse "NorthwindDataSet_up_Fill_Employee_Combo" ?
ps: Outra coisa que fiquei pensando é que se eu precisar usar parametros... com ficaria?
se puder postar outros links como esse eu agradeceria muito... nao precisa me dizer como fazer, apenas me mostre o caminho se possivel, não estou encontrando muitos assuntos relacionados, acho que não estou sabendo procurar, agradecido desde já.
[]'s
-
Olá,
O método Fill é responsável por popular o DataSet com os dados do banco de dados, e o parâmetro que aceita uma string, onde esta sendo passado o valor "Employees" indica com qual nome será criado uma DataTable dentro do DataSet. Esse parâmetro não é impactante.
"NorthwindDataSet_up_Fill_Employee_Combo" é apenas o nome do DataSource que deve ser criado.
Para utilizar parâmetros vc pode fazer assim:
ReportParameter p1 = new ReportParameter("param1", _p1); ReportParameter p2 = new ReportParameter("param2", _p2); ReportParameter p3 = new ReportParameter("param3", _p3); ReportParameter p4 = new ReportParameter("param4", _p4); this.ReportViewer2.LocalReport.SetParameters(new ReportParameter[] {p1, p2, p3, p4});
outro link:
http://forums.asp.net/t/1240076.aspx/1
[]s!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique- Marcado como Resposta Alvaro VDL Filho segunda-feira, 30 de janeiro de 2012 16:15
-
-
Estamos juntos! :)
Comunidade unida!
Fernando Henrique Inocêncio Borba Ferreira
while(alive){ this.WriteCode(); }
Blog: http://ferhenriquef.com/
Twitter: @ferhenrique