PDA

نسخه کامل مشاهده نسخه کامل : توضیح ی قطعه در c#



شاهزاده خانوم
15-08-2013, 22:26
public BindingSource GetBinding(string query, CommandType type, Param[] p)
{
)DataTable dt = type == CommandType.Text ? SelectCommand(query, CommandType.Text) : SelectCommand(query, CommandType.StoredProcedure, p);
{var bs=new BindingSource {DataSource = dt
return bs;



دوستان میشه یکی لطف کنه ی توضیحی راجع ب این loc بده
ممنون میشم

anvar.net
16-08-2013, 11:47
شرمنده متوجه قسمت اولش نشده بودم - هر چی هم فکر می کنم متوجه مساوی ها نشدم چون بعضی ز تایپ ها رو هم نمی دونم چی هستند نمی تونم کد رو بنویسم.


متدی با نام Getbinding از نوع BindingSource تعریف شده که سه پارامتر ورودی میگیره : در خط دوم اومده یک دستور شرطی رو بصورت اختصاری نوشته : اگر نوع command از نوع text بود دستور سلکت مساوی با پارامتر ورودی query باشه., در غیر اینصورت command از نوع روال ذخیره شده است SP - ,و پارامتهای لازم رو هم بهش پاس میدن.

در نهایت هم شی bs رو به فراخواننده خودش ارسال میکنه

***
می تونیم عبارت شرطی زیر را بصورت اختصاری هم بنویسیم

int x,y,z;
if (x>y)
{
z=y*x
}
else
{
z=y+x
}

z=x>y ? y*x : y+x

شاهزاده خانوم
16-08-2013, 15:26
خوب سوال من اینجاست که چرا مساوی قرار بده؟ چرا commandtype که از نوع text هست رومساوی datatable قرار داده؟
وعلامت سوال برای چی گذاشته؟


ممنوناز کمکتون

شاهزاده خانوم
17-08-2013, 13:02
lblProject.Text = dgv.SelectedRows.Count > 0 ? dgv.SelectedRows[0].Cells[1].Value.ToString() : @"Not Selected";


داره میگه اگه dgv.SelectedRows.Count > 0 بزرگتر از0 بود از دیتا گرید ویو سطر اول مقدار ستون دوم وبه رشته تبدیل کن در عیر این صورت not select رو تو لیبل پروزه بریز

شاهزاده خانوم
17-08-2013, 14:50
DataTable dt = type == CommandType.Text
دوستان منتظرم. ./
ممنون

Payman_62
21-08-2013, 10:16
سلام.
شاهزاده لطفا کدهاتون رو داخل تگ کد قرار بدید. این طور به هم ریخته کد رو قرار میدید و کسی متوجه سوال نمیشه.

عــــلی
22-08-2013, 07:14
بسم الله الرحمن الرحیم.
سلام.
کد مورد نظر شما دقیقاً عملکردی مانند کد زیر رو داره و برای کسانی که میخوان کارشون توی یه خط راه بیوفته انجام پذیره.
کد شما به صورت زیر پردازش میشه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در صورتی که تعداد خط های شرط شما فقط 1 خط باشه شما کدتون رو میتونید به صورتی که دادید بنویسید.
شما توی شرط ها برای برابر بودن از == و برای نابرابر بودن از != استفاده میکنید.چون شرط ها یک داده boolean میگیرن مقدار بازگشتی این عملیات یک مقدار true یا false هست.
پس DataTable dt = type == CommandType.Text یک مقدار bool که نشون میده CommandType.Text برابر با type هست یا نه رو در dt میریزه که البته من فکر نمیکنم این کد درست کار کنه چون مقدار bool داخل DataTable نمیره.البته این رو در نظر بگیرید که این خط پررنگ من فقط در صورتی که هست یک خط شما مثل زیر باشه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که درستش به اینصورته:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
که این خط شما درست کار میکنه چون در بالا توضیح دادم یکی از داده های کنار علامت سوال وارد متغیر شما میشن:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
رنگ سبز شرط شما و آبی ها جواب شرط شما هستند.
موفق و سربلند باشید در پناه حق.