ورود

نسخه کامل مشاهده نسخه کامل : نمایش فقط رکوردهای اضافه شده به جدول( نه تمام جدول )در دیتاگریدویو



maryam_93
07-02-2015, 23:20
سلام من یک فرم فاکتور رستوران دارم که میخوام زمانی که یه نفر غذا را انتخاب میکنه و اطلاعاتش میخواد ذخیره بشه فقط اطلاعات جدید که الان اضافه کردیم در دیتا گرید ویو نمایش داده بشه کل اطلاعات جدول فاکتور نمایش داده نشه من واسه اینکار یه querry نوشتم به این صورت که اگر کدمشتری و تاریخ یکی بود اطلاعات نشون داده بشه اما مشکل اینجاست که اگر فرضا یک مشتری صبح خرید کرده شب هم خرید کنه اطلاعات صبح رو همم نمایش میده تو دیتاگریدویو..
INSERT INTO T_factor (food_name,tedad,price,total_price, id_food, customer_id, tarikh,cash_user
VALUES (@fname ted price,@fprice IDF,@idcust tar user

select * from T_factor where customer_id=@cid and tarikh=@ta

ممنون میشم اگر کسی میدونه کمکم کنه

H.E.R.O.E.S
07-02-2015, 23:26
سلام
با چه زبانی کار می کنید
اسم زبان و بگید تا بیشتر کمکتون کنم

H.E.R.O.E.S
07-02-2015, 23:31
شما اگر می خواهید زمان خاصی نشان داده باشد باید در بانکتون یک فیلد از نوع تاریخ و زمان بزارید اون وقت تاریخ و زمان های که غذا ثببت می شه رو بگید

در سی شارپ / وی بی و ... برای به دست اوردن تاریخ و زمان فعلی سیستم از دستور زیر استفاده می شود

TimeString
که زمان فعلی سیستم و بر می گردونه

حالا توی رط select باید این تاریخ و زمان و با تاریخ و زمان امروز بررسی کنید که اگر تاریخی که ثبت شده با تاریخ امروز برابر بود بیا این کارها رو انجام بده در غیر این صورت اون کارها

در این جا دیگر تصمیم گیری به عهده خودتون هست
موفق باشی شب خوش

maryam_93
08-02-2015, 00:25
من با c# کار میکنم ممنون از جوابتون من فیلد ساعت رو هم اضافه کردم اما نشد چون یک مشتری اول یک غذا واسش ثبت میشه لعد غذای بعد که هر غذا یه ساعت خاص ثبت شده و زمانهای اونها یکسان نیست ک بر اون اساس تو دیتا گرید ویو نشون بده فقط تاریخ یکسانه و کد مشتری... میخواستم بدونم راهی نیست که فقط اطلاعاتی که insert میشن تو دیتا کرید ویو نمایش داده بشه؟
ممنون

H.E.R.O.E.S
08-02-2015, 02:14
سلام من یک فرم فاکتور رستوران دارم که میخوام زمانی که یه نفر غذا را انتخاب میکنه و اطلاعاتش میخواد ذخیره بشه فقط اطلاعات جدید که الان اضافه کردیم در دیتا گرید ویو نمایش داده بشه کل اطلاعات جدول فاکتور نمایش داده نشه من واسه اینکار یه querry نوشتم به این صورت که اگر کدمشتری و تاریخ یکی بود اطلاعات نشون داده بشه اما مشکل اینجاست که اگر فرضا یک مشتری صبح خرید کرده شب هم خرید کنه اطلاعات صبح رو همم نمایش میده تو دیتاگریدویو..
INSERT INTO T_factor (food_name,tedad,price,total_price, id_food, customer_id, tarikh,cash_user
VALUES (@fname @ted ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) @price ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]),@fprice @IDF ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]),@idcust @tar ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) @user ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])

select * from T_factor where customer_id=@cid and tarikh=@ta

ممنون میشم اگر کسی میدونه کمکم کنه







در پاسخ به این سوال باید بگم که :

1- زبان سی شارپ زبان کاملاً شی گرا است
یعنی شما هیچ اجباری ندارید که حتماً اطلاعات رو به وسیله بانک پردازش کنید بعد توی دیتاگرید ویوو نشون بدید

از کلاس ها استفاده کنید خیلی بهتره

2- حالا که از این روش می خواهید استفاده کنید هیچ مشکلی نداره فقط اگر از کلاس ها استفاده می کردید بعد یک لیستی از کلاس ها رو تعریف می کردید و اون لیست و می دادید به دیتاگرید ویو خیلی بهتر بود ولی مشکل شما رو متوجه شدم چی هست...

کارهای زیر را انجام تا مشکلتان حل شود...

food_name,tedad,price,total_price, id_food, customer_id, tarikh,cash_user

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

برای این که مشتری که فرضاً صبح خرید کرده و شب هم خرید می کنه ....
این مشکل حل بشه باید یک ستون دیگر اضافه کنید یعنی به اطلاعات زیر ستون های بانک به اطلاعات زیر تغییر پیدا می کنه

food_name,tedad,price,total_price, id_food, customer_id, tarikh,cash_user,Faktor

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

خوب مقدمات کار اصلی ما تا به این جا تمام شد

حالا بریم سراغ کارهای اصلی:

وقتی که می خواهید اطلاعات را ذخیره کنید مقدار متغیر فاکتور و 0 قرار بدید
در اصل متغیر فاکتور یک متغیر هست که 2 تا حالت می تونه داشته باشه یا 0 یا 1 ...
0 به معنی این هست که هنوز فاکتوری برای اون مشتری که محصول و سفارش داده ثبت نشده و 1 به معنی ثبت شده است ...
خوب وقتی که دستور سلکت و اجرا می کنید باید یک کوئری اجرا کنید و مقدار این و به یک تغییر بدید(منظورم دستور آپدیت هست)
سپس شرط پرسجوتون هم باید بدین صورت باشه که


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا این شرط به شما مقادیری بر می گرداند که فکر کنم مشکل شما رو حل کرده یعنی این بار کاربر نمی تونه صبح که خرید و فاکتور و به عنوان مثال پرداخت کرده شب هم خرید و فاکتور صبح خودش و ببینیه و اون و پرداخت کنه

maryam_93
08-02-2015, 03:49
سلام خیلیییییی ممنون از جوابتون این قسمت که گفتید وقتی که دستور سلکت و اجرا می کنید باید یک کوئری اجرا کنید و مقدار این و به یک تغییر بدید(منظورم دستور آپدیت هست) دستور اپدیت رو کجا باید بنوسم که رکوردهای قبلی رو که به اسم این مشتری صبح ذخیره شده factore شون ۱ بشه چون داخل دکمه ی ثبت که اگه بنویسم اگر یک مشتری چند غذا انتخاب کنه هر دفعه هر رکورد=۱ میشه و فقط آخرین غذاای انتخاب شده نمایش داده میشه
منظورتون از د update با چه شرطی هست ؟ customer_id یکی باشه؟
ممنونم

H.E.R.O.E.S
08-02-2015, 13:42
شما می تونید برای این پروژه راهکار های زیادی رو انتخاب کنید

شما می تونید هزاران راه و انتخاب کنید که به جوابتون برسید که از نظر من فکر می کنم این روش روش بهتری باشه ...

البته شاید بهتر هم باشه ولی این روشی که الان خدمتتون عرض می کنم یک روش بهینه شده باشه...

شما می تونید مثلاً این کار و انجام بدید

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

شرط آپدیت رو هم می تویند بر اساس custumer_ID بزارید

یا این که این کار و کنید

بیاید بعد از این که فاکتور و به مشتری کامل نشون دادید (منظورم قسمتی هست که اطلاعات فاکتور به صورت گامل در دیتا گریو ویوو نشون داده می شه) بیاین همون لحظه دستور اپدیت و اجرا کنید تا مقدار های اون ها 1 بشه

ولی این روش اگر دقت کنید ایرادات خودش و داره
مثلاً اگر کاربر فاکتور و بهش دادیم ولی پرداخت نکرد چی؟؟؟
یا قرار شد قصدی پرداخت کنه چی؟؟

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

ولی اون روش اول و خیلی بهینه شده می بیم

روز خوش

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

maryam_93
08-02-2015, 18:19
ممنون ازینکه وقت گذاشتید و جواب دادید

H.E.R.O.E.S
08-02-2015, 23:00
خواهش می کنم