PDA

View Full Version : چگونگی گزارش گیری با انتخاب فیلد گزارش توسط کاربر



ebtekar
شنبه 28 اردیبهشت 1387, 20:42 عصر
من قبلا این سوال رو به نحو دیگه ای پرسیده بودم منو راهنمایی کردند که به commandtext هر دفعه رشته دلخواه خودم رو ارسال کنم منم هم این کار رو می کنم ولی نمی دونم کد زیر چه مشکلی داره که بدون هیچ پیغامی برنامه اجرا میشه ولی فیلد مورد نظر رو در گزارش نمی بینم

کدش هم به این صورت نوشتم


shomare = "shenasname";
SqlConnection objConnection = new SqlConnection("Persist Security Info=False; server=exam; database=persenel; Integrated Security=True;");
SqlDataAdapter objDataAdapter = new SqlDataAdapter();
DataSet objDataSet = new DataSet();
objDataAdapter.SelectCommand = new SqlCommand();
objDataAdapter.SelectCommand.Connection = objConnection;
objDataAdapter.SelectCommand.CommandText = "SELECT '" + shomare + "' FROM sabt";
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objConnection.Open();
// بار گذاري جدول در ديتا آداپتور
objDataAdapter.Fill(objDataSet, "sabt");
objConnection.Close();
//********************************************
frm_report formreport = new frm_report();
crystalReport11.SetDataSource(objDataSet.Tables["sabt"].DefaultView);
formreport.crystalReportViewer1.ReportSource = crystalReport11;
formreport.ShowDialog();


من این رو برای این کار می خوام انجام بدم که کار بر خودش تعین کنه که از چه فیلد هایی پرینت بگیره

ولی انگار رشته ای که تو select بکار بردم رو ندیده می گیره

خواهش می کنم کمکم کنید مرسی از دوستان

ASKaffash
یک شنبه 29 اردیبهشت 1387, 08:26 صبح
با سلام
خیلی عجیبه در هرصورت متد ذیل رانیز تست کنید


publicstaticDataSet GetDataSet(string CommandString, string ConnectionString)
{
SqlConnection TmpSqlConnection = newSqlConnection(ConnectionString);
TmpSqlConnection.Open();
SqlDataAdapter TmpSqlDataAdapter = newSqlDataAdapter(CommandString, TmpSqlConnection);
DataSet TmpDataSet = newDataSet();
TmpSqlDataAdapter.Fill(TmpDataSet);
return TmpDataSet;
}

hassan razavi
یک شنبه 29 اردیبهشت 1387, 08:32 صبح
objDataAdapter.SelectCommand.CommandText = "SELECT '" + shomare + "' FROM sabt";

این Single Cotation که بعد از Select و قبل از From گذاشتید کار رو خراب کرده

ebtekar
یک شنبه 29 اردیبهشت 1387, 13:20 عصر
با سلام
خیلی عجیبه در هرصورت متد ذیل رانیز تست کنید

publicstaticDataSet GetDataSet(string CommandString, string ConnectionString)
{
SqlConnection TmpSqlConnection = newSqlConnection(ConnectionString);
TmpSqlConnection.Open();
SqlDataAdapter TmpSqlDataAdapter = newSqlDataAdapter(CommandString, TmpSqlConnection);
DataSet TmpDataSet = newDataSet();
TmpSqlDataAdapter.Fill(TmpDataSet);
return TmpDataSet;
}

دوست عزیر این یعنی چی اون وقت



objDataAdapter.SelectCommand.CommandText = "SELECT '" + shomare + "' FROM sabt";

این Single Cotation که بعد از Select و قبل از From گذاشتید کار رو خراب کرده
مرسی دستت درد نکنه مشکلم حل شد