Jump to content

Reportviewer + c#.net + mysql


diogom

Recommended Posts

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();
Link to comment
Share on other sites

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();
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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 é.

Link to comment
Share on other sites

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

Link to comment
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
×
×
  • 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.