Hi
I have written code for passig query to sub report from asp.net,c#.but the query displays all the records even if i give where cluase in sql query
Please refer the code below
protected void Button1_Click(object sender, EventArgs e) { TableLogOnInfo crTableLogOnInfo = new TableLogOnInfo(); ConnectionInfo crConnectionInfo = new ConnectionInfo(); CrystalDecisions.CrystalReports.Engine.Database crDatabase; CrystalDecisions.CrystalReports.Engine.Tables crTables; ReportDocument doc = new ReportDocument(); doc.Load(Server.MapPath("CrystalReport1.rpt")); crConnectionInfo.ServerName = "newserver"; crConnectionInfo.DatabaseName = ""; crConnectionInfo.UserID = ""; crConnectionInfo.Password = "; crConnectionInfo.Type = ConnectionInfoType.SQL; crConnectionInfo.IntegratedSecurity = false; crDatabase = doc.Database; crTables = crDatabase.Tables; string sqlCon = "" SqlConnection conn = new SqlConnection(sqlCon); conn.Open(); string sql123 = "select * from jobs where JobNumber=" + TextBox1.Text + ""; SqlCommand cmd = new SqlCommand(sql123, conn); cmd.CommandType = CommandType.Text; SqlDataAdapter adpt = new SqlDataAdapter(cmd); DataSet dataSet = new DataSet(); adpt.Fill(dataSet, "Customers"); foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in crTables) { crTableLogOnInfo = crTable.LogOnInfo; crTableLogOnInfo.ConnectionInfo = crConnectionInfo; crTable.ApplyLogOnInfo(crTableLogOnInfo); } doc.SetDataSource(dataSet.Tables[0]); conn.Close(); sqlCon = ""; conn = new SqlConnection(sqlCon); conn.Open(); string sql1234 = "select * from JOBSDOCUMENTS where JobNumber=" + TextBox1.Text + ""; cmd = new SqlCommand(sql1234, conn); cmd.CommandType = CommandType.Text; adpt = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adpt.Fill(ds, "Customers1"); doc.Subreports["CrystalReport2.rpt"].SetDataSource(ds.Tables[0]); CrystalReportViewer1.ReportSource = doc; }
Thanks
chandran