PDA

View Full Version : سوال: مشکل با parameter filed در گزارش گیری



amirreyhaneh
دوشنبه 16 مرداد 1391, 00:11 صبح
سلام دوستان
من از کریستا ریپورت برای گزارش گیری استفاده میکنم که از storedprocedure و یک فیلد textbox که بعنوان پارامتر به stored procedure فرستاده میشه استفاده کردم.کد من به صورت زیر است:
public partial class Reports_GhazaRozaneh : System.Web.UI.Page
{
static string constring = WebConfigurationManager.ConnectionStrings["selfConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(constring);
SqlCommand cmd;
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GhazaRozaneh";
cmd.Parameters.AddWithValue("@DateGhaza", TextBox1.Text.Trim());
SqlDataAdapter dataadapter=new SqlDataAdapter();
dataadapter.SelectCommand = cmd;
System.Data.DataSet ds = new DataSet();
dataadapter.Fill(ds);

ConnectionInfo connectionInfo = new ConnectionInfo();
ReportDocument RepDoc = new ReportDocument();
RepDoc.FileName = Server.MapPath("GhazaRozaneh.rpt");
RepDoc.SetDataSource(ds);
CrystalReportViewer1.ReportSource = RepDoc;


ParameterValues parameterValues = new ParameterValues();
ParameterDiscreteValue parameterDiscreteValue = new ParameterDiscreteValue();
parameterDiscreteValue.Value = TextBox1.Text;

parameterValues.Add(parameterDiscreteValue);
ParameterFieldDefinitions parameterFieldDefinitions =
RepDoc.DataDefinition.ParameterFields;
ParameterFieldDefinition parameterFieldDefinition =
parameterFieldDefinitions["@DateGhaza"];

parameterFieldDefinition.ApplyCurrentValues(parame terValues);
}
}
همه چیز درسته وجواب میده.ولی مشکل اینست که وقتی دکمه پرینت میزنم صفحه Enter parameter باز میشه؟
لطفا راهنمایی کنید
با تشکر

amirreyhaneh
دوشنبه 16 مرداد 1391, 11:55 صبح
با سلام واحترام
از دوستان خواهش ميكنم حداقل آدرس جايي به من بدند كه گزارش گيري crystal report با stored procedure وپارامتر توش باشه!
ممنون

amirreyhaneh
دوشنبه 16 مرداد 1391, 23:36 عصر
سلام
این همه مشاهده سوال ودریغ از یک پاسخ؟:گریه:

amirreyhaneh
چهارشنبه 18 مرداد 1391, 01:12 صبح
سلام
من کدم را به صورت زیر خلاصه وبهینه اش کردم.ولی باز هم صفحه parameter fields میاد.حالا که کد کوچک شده میشه کمک کنید؟ ReportDocument report = new ReportDocument();
DataSet ds = new DataSet ();
string constring = WebConfigurationManager.ConnectionStrings["selfConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(constring); ;

SqlCommand cmd = new SqlCommand("dbo.GhazaRozaneh", conn);

cmd.CommandType = CommandType .StoredProcedure;

cmd.Parameters.AddWithValue("@DateGhaza" , TextBox1.Text.Trim());
SqlDataAdapter da = new SqlDataAdapter (cmd);
da.Fill(ds, "DataTable1" );
report.FileName = Server.MapPath("GhazaRozaneh.rpt");
report.SetDataSource(ds);
report.SetParameterValue("@DateGhaza", TextBox1.Text);
CrystalReportViewer1.ReportSource = report;

rana-writes
چهارشنبه 18 مرداد 1391, 10:23 صبح
سلام
خط به خط اجرا كردين كدتون رو ببينين روي كدوم خط ارور ميگيره؟
اين چيزي كه من دارم مي بينم يه پارامتر "@DateGhaza" هست كه مربوط به Sp ميشه و


report.SetParameterValue("@DateGhaza", TextBox1.Text);


اين خط هم كه پارامتره كه بايد مقداردهي بشه
BreakPoint بذارين و دستي تست كنين

mehdi_gerami65
چهارشنبه 18 مرداد 1391, 14:43 عصر
سلام
خط به خط اجرا كردين كدتون رو ببينين روي كدوم خط ارور ميگيره؟
اين چيزي كه من دارم مي بينم يه پارامتر "@DateGhaza" هست كه مربوط به Sp ميشه و


report.SetParameterValue("@DateGhaza", TextBox1.Text);


اين خط هم كه پارامتره كه بايد مقداردهي بشه
BreakPoint بذارين و دستي تست كنين


برادر من شما که داری از استور پروسیجر میخونی لازم نیست به کریستال پارامتر بفرستی چون خودش از استور دریافت میکنه
فقط در هر کاری باید کریستال خودتو رفرش کنی