PDA

View Full Version : آیااین روش کدنویسی صحیح است ؟



programerinfonet
یک شنبه 28 آبان 1391, 11:55 صبح
سلام دوستان :
من تو برنامم برایبخش گزارشگیریبدین شکل عمل کردم
آیا درسته ؟
آخه این تازه برای یک قسمته من باید 8 تا دیگه این جوریبنویسم
چی کار کنم کدام کمتر بشن


if ((checkBox1.Checked == false) & (checkBox2.Checked == false) & (checkBox3.Checked == false) & (checkBox4.Checked == false))
{
d = "SELECT sanadcaption.captionid,ashkhasgroups.shgroupname,a shkhas.shname,sanadcaption.regdate,sanadcaption.ty pe,visitor.visitorname,sanadcaption.jamekol,sanadc aption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod WHERE type='خرید'";
}
else
if ((checkBox1.Checked == true) & (checkBox2.Checked == false) & (checkBox3.Checked == false) & (checkBox4.Checked == false))
{
d = "SELECT sanadcaption.captionid,ashkhasgroups.shgroupname,a shkhas.shname,sanadcaption.regdate,sanadcaption.ty pe,visitor.visitorname,sanadcaption.jamekol,sanadc aption.visit FROM visitor INNER JOIN sanadcaption ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod WHERE type='خرید'AND regdate between '" + mtxtdate.Text + "'AND '" + mtxtdate2.Text + "'";
}
else
if ((checkBox1.Checked == true) & (checkBox2.Checked == true) & (checkBox3.Checked == false) & (checkBox4.Checked == false))
{
if (radioButton1.Checked)
d = "SELECT sanadcaption.captionid,ashkhasgroups.shgroupname,a shkhas.shname,sanadcaption.regdate,sanadcaption.ty pe,visitor.visitorname,sanadcaption.jamekol,sanadc aption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod WHERE type='خرید'AND regdate between '" + mtxtdate.Text + "'AND '" + mtxtdate2.Text + "'AND shname='" + comboBox2.Text + "'";
else
d = "SELECT sanadcaption.captionid,ashkhasgroups.shgroupname,a shkhas.shname,sanadcaption.regdate,sanadcaption.ty pe,visitor.visitorname,sanadcaption.jamekol,sanadc aption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod WHERE type='خرید'AND regdate between '" + mtxtdate.Text + "'AND '" + mtxtdate2.Text + "'AND shgroupname='" + comboBox2.Text + "'";
}
else
if ((checkBox1.Checked == true) & (checkBox2.Checked == true) & (checkBox3.Checked == true) & (checkBox4.Checked == false))
{
if(radioButton3.Checked)
d = "SELECT sanadcaption.captionid,kalagroups.groupname,kala.n ame,sanadkala.tedad,sanadkala.fi,sanadkala.mablagh ,ashkhasgroups.shgroupname,ashkhas.shname,sanadcap tion.regdate,sanadcaption.type,visitor.visitorname ,sanadcaption.jamekol,sanadcaption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod INNER JOIN sanadkala ON sanadkala.sanadid=sanadcaption.captionid INNER JOIN kala ON kala.id=sanadkala.kala INNER JOIN kalagroups ON kalagroups.id=sanadkala.klcod WHERE type='خرید'AND regdate between '" + mtxtdate.Text + "'AND '" + mtxtdate2.Text + "'AND shname='" + comboBox2.Text + "' AND name='" + comboBox3.Text + "'";
else
d = "SELECT sanadcaption.captionid,kalagroups.groupname,kala.n ame,sanadkala.tedad,sanadkala.fi,sanadkala.mablagh ,ashkhasgroups.shgroupname,ashkhas.shname,sanadcap tion.regdate,sanadcaption.type,visitor.visitorname ,sanadcaption.jamekol,sanadcaption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod INNER JOIN sanadkala ON sanadkala.sanadid=sanadcaption.captionid INNER JOIN kala ON kala.id=sanadkala.kala INNER JOIN kalagroups ON kalagroups.id=sanadkala.klcod WHERE type='خرید'AND regdate between '" + mtxtdate.Text + "'AND '" + mtxtdate2.Text + "'AND shname='" + comboBox2.Text + "' AND groupname='" + comboBox3.Text + "'";
}
else
if ((checkBox1.Checked == true) & (checkBox2.Checked == true) & (checkBox3.Checked == true) & (checkBox4.Checked == true))
d = "SELECT sanadcaption.captionid,kalagroups.groupname,kala.n ame,sanadkala.tedad,sanadkala.fi,sanadkala.mablagh ,ashkhasgroups.shgroupname,ashkhas.shname,sanadcap tion.regdate,sanadcaption.type,visitor.visitorname ,sanadcaption.jamekol,sanadcaption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod INNER JOIN sanadkala ON sanadkala.sanadid=sanadcaption.captionid INNER JOIN kala ON kala.id=sanadkala.kala INNER JOIN kalagroups ON kalagroups.id=sanadkala.klcod WHERE type='خرید'AND regdate between '" + mtxtdate.Text + "'AND '" + mtxtdate2.Text + "'AND shname='" + comboBox2.Text + "' AND name='" + comboBox3.Text + "'AND visitorname='" + comboBox1.Text + "'";
else
if ((checkBox1.Checked == false) & (checkBox2.Checked == true) & (checkBox3.Checked == false) & (checkBox4.Checked == false))
{
if (radioButton1.Checked)
d = "SELECT sanadcaption.captionid,ashkhasgroups.shgroupname,a shkhas.shname,sanadcaption.regdate,sanadcaption.ty pe,visitor.visitorname,sanadcaption.jamekol,sanadc aption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod WHERE type='خرید'AND shname='" + comboBox2.Text + "'";
else
d = "SELECT sanadcaption.captionid,ashkhasgroups.shgroupname,a shkhas.shname,sanadcaption.regdate,sanadcaption.ty pe,visitor.visitorname,sanadcaption.jamekol,sanadc aption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod WHERE type='خرید'AND groupname='" + comboBox2.Text + "'";
}
else
if ((checkBox1.Checked == false) & (checkBox2.Checked == false) & (checkBox3.Checked == true) & (checkBox4.Checked == false))
{
if (radioButton3.Checked)
d = "SELECT sanadcaption.captionid,kalagroups.groupname,kala.n ame,sanadkala.tedad,sanadkala.fi,sanadkala.mablagh ,ashkhasgroups.shgroupname,ashkhas.shname,sanadcap tion.regdate,sanadcaption.type,visitor.visitorname ,sanadcaption.jamekol,sanadcaption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod INNER JOIN sanadkala ON sanadkala.sanadid=sanadcaption.captionid INNER JOIN kala ON kala.id=sanadkala.kala INNER JOIN kalagroups ON kalagroups.id=sanadkala.klcod WHERE type='خرید'AND name='" + comboBox3.Text + "'";
else
d = "SELECT sanadcaption.captionid,kalagroups.groupname,kala.n ame,sanadkala.tedad,sanadkala.fi,sanadkala.mablagh ,ashkhasgroups.shgroupname,ashkhas.shname,sanadcap tion.regdate,sanadcaption.type,visitor.visitorname ,sanadcaption.jamekol,sanadcaption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod INNER JOIN sanadkala ON sanadkala.sanadid=sanadcaption.captionid INNER JOIN kala ON kala.id=sanadkala.kala INNER JOIN kalagroups ON kalagroups.id=sanadkala.klcod WHERE type='خرید'AND groupname='" + comboBox3.Text + "'";
}
else
if ((checkBox1.Checked == false) & (checkBox2.Checked == false) & (checkBox3.Checked == false) & (checkBox4.Checked == true))
d = "SELECT sanadcaption.captionid,kalagroups.groupname,kala.n ame,sanadkala.tedad,sanadkala.fi,sanadkala.mablagh ,ashkhasgroups.shgroupname,ashkhas.shname,sanadcap tion.regdate,sanadcaption.type,visitor.visitorname ,sanadcaption.jamekol,sanadcaption.visit FROM sanadcaption INNER JOIN visitor ON visitor.id=sanadcaption.visitor INNER JOIN ashkhas ON ashkhas.id=sanadcaption.ashkhas INNER JOIN ashkhasgroups ON ashkhasgroups.id=sanadcaption.shcod INNER JOIN sanadkala ON sanadkala.sanadid=sanadcaption.captionid INNER JOIN kala ON kala.id=sanadkala.kala INNER JOIN kalagroups ON kalagroups.id=sanadkala.klcod WHERE type='خرید'AND visitorname='" + comboBox1.Text + "'";


adap = new SqlDataAdapter(d, my_con);
adap.Fill(ds, "sanadcaption");
vrp.dgv.DataSource = ds.Tables["sanadcaption"];
vrp.dgv.Columns["captionid"].HeaderText = "شماره سند"; vrp.dgv.Columns["shname"].HeaderText = "طرف حساب"; vrp.dgv.Columns["shgroupname"].HeaderText = "گروه طرف حساب";
vrp.dgv.Columns["regdate"].HeaderText = "تاریخ ثبت"; vrp.dgv.Columns["type"].HeaderText = "نوع سند";
vrp.dgv.Columns["visitorname"].HeaderText = "نام ویزیتور"; vrp.dgv.Columns["jamekol"].HeaderText = "مبلغ کل سند"; vrp.dgv.Columns["visit"].HeaderText = "پورسانت ویزیتور";
vrp.dgv.Columns["captionid"].Width = 100; vrp.dgv.Columns["shname"].Width = 150;
vrp.dgv.Columns["regdate"].Width = 100; vrp.dgv.Columns["type"].Width = 100; vrp.dgv.Columns["shgroupname"].Width = 120;
vrp.dgv.Columns["visitorname"].Width = 150; vrp.dgv.Columns["jamekol"].Width = 110; vrp.dgv.Columns["visit"].Width = 110;

کمک کنید
ممنون

maythammsp2000
یک شنبه 28 آبان 1391, 12:24 عصر
چرا از report viewver خود استديو استفاده نمي كني؟

programerinfonet
یک شنبه 28 آبان 1391, 12:32 عصر
چهطور
میشه یکیم بیشتر توضیح بدی ؟

roolinjax
یک شنبه 28 آبان 1391, 12:35 عصر
سلام
خود خصوصیت Checked مقادیر بولین داره و نیازی ندارید که توی شرط این شکلی بنویسید :
if (checkBox1.Checked == true)
بهتره کمی ساده تر بنویسید :
if (checkBox1.Checked)
منتها در جاهایی که شرطتون false بودن رو چک می کنه باید جای دستورات if با else عوض بشن.
امیدوارم مفید بوده باشه و کمی کدتون رو ساده تر کنه
موفق باشید.

maythammsp2000
یک شنبه 28 آبان 1391, 12:49 عصر
تو تول باكس ابزارش هست. ميتوني تو يه فرم درگش كني.مثلث كنري ابزار درگ شده رو كه بزني گزينه new report design رو بزني ميتوني گزارش رو طراحي كني و به ديتا ست بانكت متصلش كني.بعد ميتوني رو دكمه كه قراره گزارش رو نمايش بدي كد نمايش فرم گزارش رو بنويسي.به همين راحتي

Alfred188
یک شنبه 28 آبان 1391, 14:52 عصر
سلام،
من هم قبلا به چیزی شبیه این برخوردم و برای جلوگیری از این شکلی شدن یه list<string> درست کردم و تو هر حالت مثلا چک باکس1 یا 2 یا هرکدوم که true بودن اومدم به لیستم یه string مربوط به همون بخش رو اضافه کردم و در اخر اون رشته ها رو به هم متصل کردم و گزارش گرفتم

چیزی شبیه این:

if (checkBox2.Checked == true)
{
string s = "[FaktorTable].[serial]='" + comboBox5.SelectedValue.ToString() + "'";
li.Add(s);

}

if (checkBox4.Checked == true)
{
string s = "[FaktorTable].[Name]='" + comboBox7.SelectedValue.ToString() + "'";
li.Add(s);
}

string search = "";
if (li.Count > 1)
{
for (int i = 0; i < li.Count; i++)
{
if (i == 0)
search += li[i].ToString();
else
search += " AND " + li[i].ToString();
}
}
else
{
search = li[0].ToString();
}

string sql = "Select [FaktorTable].[Id] ,[FaktorTable].[serial],[FaktorTable].[Name] from [FaktorTable]" + search;



موفق باشید