Jump to content
Sign in to follow this  
diogom

Reportviewer + c#.net + mysql

Recommended Posts

diogom

Olá

Tenho o dataset criado e configurei o reportview,

Na pagina do browser onde tenho o reportviewer, aparece este: Não foi fornecida nenhuma instância de origem de dados para a origem de dados 'DataSet1'.

conn = new MySqlConnection("Database=" + BANCO + ";Data Source=" + SERVIDOR + ";User Id=" + USUARIO + ";Password=" + SENHA + "; ");
		    conn.Open();
		    cmd = conn.CreateCommand();
		    cmd.CommandText = "SELECT * FROM fichacli";
		    adap = new MySqlDataAdapter();
		    adap.SelectCommand = cmd;
		    DataSet custDB = new DataSet("DataSet1");
		    custDB.Clear();
		    adap.Fill(custDB, "fichacli");
		    DataTable aaa = null;
		    aaa = custDB.Tables[0];
		    ReportViewer1.ProcessingMode = ProcessingMode.Local;
		    ReportViewer1.LocalReport.ReportPath = "C:\\Users\\Diogo\\Documents\\Visual Studio 2012\\Projects\\mediproject\\mediproject\\Report4.rdlc";
		    ReportViewer1.LocalReport.DataSources.Clear();
		    ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("fichacli", aaa));
		    ReportViewer1.DocumentMapCollapsed = true;
		    ReportViewer1.LocalReport.Refresh();

Share this post


Link to post
Share on other sites
bioshock

Tens aí coisas desnecessárias. Se estás a criar um novo dataset, para quê limpá-lo, por exemplo?


DataSet custDB = new DataSet();
adap.Fill(custDB, "fichacli");

Share this post


Link to post
Share on other sites
diogom

Tens aí coisas desnecessárias. Se estás a criar um novo dataset, para quê limpá-lo, por exemplo?


DataSet custDB = new DataSet();
adap.Fill(custDB, "fichacli");

Já tinha experimentado sem o clear e, não dá na mm.

Share this post


Link to post
Share on other sites
diogom

E substituíste o código que te dei pelo que tens?

Agora aparece isto:

  • Não é possível estabelecer ligação com o servidor remoto
    • Nenhuma ligação pôde ser feita porque o computador de destino as recusou ativamente 127.0.0.1:80

Share this post


Link to post
Share on other sites
diogom

O quê rapaz? Lê lá o que eu disse.

Já está a fazer a conecção À bd. Mas aparece sempre este erro: Não foi fornecida nenhuma instância de origem de dados para a origem de dados 'DataSet1'.

È a primeira vez que estou a usar o reportviewer e não estou a perceber o erro.

Share this post


Link to post
Share on other sites
diogom

Mostra o teu código actual.

No page loud tenho o codio assim

	    MySqlConnection conn = default(MySqlConnection);
	    MySqlCommand cmd = default(MySqlCommand);
	    MySqlDataAdapter adap = default(MySqlDataAdapter);
	    conn = new MySqlConnection("Database=" + BANCO + ";Data Source=" + SERVIDOR + ";User Id=" + USUARIO + ";Password=" + SENHA + "; ");
	    conn.open();
	    cmd = conn.CreateCommand();
	    cmd.CommandText = "SELECT * FROM fichacli";
	    adap = new MySqlDataAdapter();
	    adap.SelectCommand = cmd;
	    DataSet custDB = new DataSet();
	    //custDB.Clear();
	    adap.Fill(custDB, "fichacli");
	    DataTable aaa = null;
	    aaa = custDB.Tables[0];
	    ReportViewer1.ProcessingMode = ProcessingMode.Local;
	    ReportViewer1.LocalReport.ReportPath = "C:\\Users\\Diogo\\Documents\\Visual Studio 2012\\Projects\\mediproject\\mediproject\\Report1.rdlc";
	    ReportViewer1.LocalReport.DataSources.Clear();
	    ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("fichacli", aaa));
	    ReportViewer1.DocumentMapCollapsed = true;
	    ReportViewer1.LocalReport.Refresh();

Share this post


Link to post
Share on other sites
bioshock
Não foi fornecida nenhuma instância de origem de dados para a origem de dados 'DataSet1'.

É impossível te estar a dar esse erro quando tu não tens nenhuma referência ao DataSet1.

Share this post


Link to post
Share on other sites
diogom

É impossível te estar a dar esse erro quando tu não tens nenhuma referência ao DataSet1.

Pois. Mas está.

Meta dataset ou dataset1.

Edited by diogom

Share this post


Link to post
Share on other sites
bioshock

Não te estás a explicar direito. Vou repetir: com o teu código actual (o que mostraste no penúltimo post) é impossível dar erro com referência a DataSet1. Enganaste e querias dizer que dava erro aqui:

DataSet custDB = new DataSet();

?

Share this post


Link to post
Share on other sites
diogom

Não te estás a explicar direito. Vou repetir: com o teu código actual (o que mostraste no penúltimo post) é impossível dar erro com referência a DataSet1. Enganaste e querias dizer que dava erro aqui:

DataSet custDB = new DataSet();

?

Eu não sei onde dá erro porque compila sem erros. Quando carrega para o browser, aparece esta linha( Não foi fornecida nenhuma instância de origem de dados para a origem de dados 'DataSet1'.) na pagina.

Edited by diogom

Share this post


Link to post
Share on other sites
bioshock

Compila para o browser? Isto é Web ou WinForms?

Vamos lá melhorar esse teu código e torná-lo mais perceptível e simples. Basicamente tu só precisas disto:

MySqlConnection conn = new MySqlConnection("Database=" + BANCO + ";Data Source=" + SERVIDOR + ";User Id=" + USUARIO + ";Password=" + SENHA + "; ")

string query = "SELECT * FROM fichacli";
conn.Open();

MySqlDataAdapter adapt = new MySqlDataAdapter(query, conn);
DataSet custDB = new DataSet();
adapt.Fill(custDB, "fichacli");

ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.ReportPath = "C:\\Users\\Diogo\\Documents\\Visual Studio 2012\\Projects\\mediproject\\mediproject\\Report1.rdlc";
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("fichacli", custDB));
ReportViewer1.DocumentMapCollapsed = true;
ReportViewer1.LocalReport.Refresh();

Se ele te der erro, diz-me em que linha é.

Share this post


Link to post
Share on other sites
diogom

Compila para o browser? Isto é Web ou WinForms?

Vamos lá melhorar esse teu código e torná-lo mais perceptível e simples. Basicamente tu só precisas disto:

MySqlConnection conn = new MySqlConnection("Database=" + BANCO + ";Data Source=" + SERVIDOR + ";User Id=" + USUARIO + ";Password=" + SENHA + "; ")

string query = "SELECT * FROM fichacli";
conn.Open();

MySqlDataAdapter adapt = new MySqlDataAdapter(query, conn);
DataSet custDB = new DataSet();
adapt.Fill(custDB, "fichacli");

ReportViewer1.ProcessingMode = ProcessingMode.Local;
ReportViewer1.LocalReport.ReportPath = "C:\\Users\\Diogo\\Documents\\Visual Studio 2012\\Projects\\mediproject\\mediproject\\Report1.rdlc";
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("fichacli", custDB));
ReportViewer1.DocumentMapCollapsed = true;
ReportViewer1.LocalReport.Refresh();

Se ele te der erro, diz-me em que linha é.

Estou a usar webform.

Está a dar erro na compilação:

O objeto de fonte de dados do relatório deve ser do tipo System.Data.DataTable, System.Collections.IEnumerable ou System.Web.UI.IDataSource.

Nesta linha (ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource());) tenho que usar datatable

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.