neda_dela
جمعه 18 دی 1388, 00:22 صبح
سلام دوستان
من در گزارش گیری بر اساس فیلدهایی که مقدار اونها حاوی حرف (ی) هستن مشکل پیدا کردم. مثلا میخام لیست دانش اموزانی رو داشته باشم که شغل پدرشون فرهنگی هست، این مقدار خاص یعنی فرهنگی توش حرف ی داره و نشون نمیده در صورتی که من این مقدار رو توی بانکم دارم. اما مثلا دانش آموزانی رو که شغل پدرشون آزاد هست رو کامل نشون میده. در ضمن هیچ فرقی نمیکنه که این حرف ی آخر کلمه باشه یا وسط اون. چون با مقدار مثلا "دبیر" هم امتحان کردم.
البته من هرچی به مقدار ذخیره شده در بانک و مقداری که توی گرید نشون داده میشه دقت کردم تفاوت ظاهری ندیدم چون قبلا که به این مشکل بر خورده بودم توی بانک (ی) ذخیره میشد ولی توی گرید این ی رو با دو نقطه زیرش نشون میداد. اما الان این تفاوت دیده نمیشه نمی دونم مشکل دقیقا چیه این هم کد کریستال ریپورتم هست:
public partial class report_viewer : Form
{
string fjob;
string term;
string year;
public report_viewer(string param, string trm, string yr)
{
term = trm;
year = yr;
fjob = param;
InitializeComponent();
}
private void report_viewer_Load(object sender, EventArgs e)
{
try
{
SqlConnection Conn = new SqlConnection("Data Source=.;Initial Catalog=quran;Integrated Security=True");
string StrSelect = "SELECT [st-shakhsi].firstname, [st-shakhsi].lastname, [st-shakhsi].fname, [st-shakhsi].pic, [st-shakhsi].tel, [st-shakhsi].mobile, [st-shakhsi].fjob, [st-sabt].sath, [st-sabt].years, [st-sabt].term, [st-sabt].educator FROM [st-shakhsi] INNER JOIN [st-sabt] ON [st-shakhsi].id = [st-sabt].id WHERE ([st-shakhsi].fjob = '" + fjob + "') AND ([st-sabt].term = '" + term + "') AND ([st-sabt].years = '" + year + "')";
SqlDataAdapter DA = new SqlDataAdapter(StrSelect, Conn);
quranDataSet DS = new quranDataSet();
DS.Clear();
Conn.Close();
Conn.Open();
DA.Fill(DS, "Report1");
Conn.Close();
CrystalReport2 CR = new CrystalReport2();
CR.SetDataSource(DS.Tables["Report1"]);
crystalReportViewer1.ReportSource = CR;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
من در گزارش گیری بر اساس فیلدهایی که مقدار اونها حاوی حرف (ی) هستن مشکل پیدا کردم. مثلا میخام لیست دانش اموزانی رو داشته باشم که شغل پدرشون فرهنگی هست، این مقدار خاص یعنی فرهنگی توش حرف ی داره و نشون نمیده در صورتی که من این مقدار رو توی بانکم دارم. اما مثلا دانش آموزانی رو که شغل پدرشون آزاد هست رو کامل نشون میده. در ضمن هیچ فرقی نمیکنه که این حرف ی آخر کلمه باشه یا وسط اون. چون با مقدار مثلا "دبیر" هم امتحان کردم.
البته من هرچی به مقدار ذخیره شده در بانک و مقداری که توی گرید نشون داده میشه دقت کردم تفاوت ظاهری ندیدم چون قبلا که به این مشکل بر خورده بودم توی بانک (ی) ذخیره میشد ولی توی گرید این ی رو با دو نقطه زیرش نشون میداد. اما الان این تفاوت دیده نمیشه نمی دونم مشکل دقیقا چیه این هم کد کریستال ریپورتم هست:
public partial class report_viewer : Form
{
string fjob;
string term;
string year;
public report_viewer(string param, string trm, string yr)
{
term = trm;
year = yr;
fjob = param;
InitializeComponent();
}
private void report_viewer_Load(object sender, EventArgs e)
{
try
{
SqlConnection Conn = new SqlConnection("Data Source=.;Initial Catalog=quran;Integrated Security=True");
string StrSelect = "SELECT [st-shakhsi].firstname, [st-shakhsi].lastname, [st-shakhsi].fname, [st-shakhsi].pic, [st-shakhsi].tel, [st-shakhsi].mobile, [st-shakhsi].fjob, [st-sabt].sath, [st-sabt].years, [st-sabt].term, [st-sabt].educator FROM [st-shakhsi] INNER JOIN [st-sabt] ON [st-shakhsi].id = [st-sabt].id WHERE ([st-shakhsi].fjob = '" + fjob + "') AND ([st-sabt].term = '" + term + "') AND ([st-sabt].years = '" + year + "')";
SqlDataAdapter DA = new SqlDataAdapter(StrSelect, Conn);
quranDataSet DS = new quranDataSet();
DS.Clear();
Conn.Close();
Conn.Open();
DA.Fill(DS, "Report1");
Conn.Close();
CrystalReport2 CR = new CrystalReport2();
CR.SetDataSource(DS.Tables["Report1"]);
crystalReportViewer1.ReportSource = CR;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}