PDA

View Full Version : سوال: ویرایش اطلاعات در بانک SQLEXPRESS توسط سی شارپ و چک باکس دیتاگرید ویو



seied javad
دوشنبه 29 اردیبهشت 1393, 13:56 عصر
سلام
من دنبال این مطلب توی سایت گشتم ولی پیدا نکردم
من یک بانک با SQLEXPRESS ایجاد کردم و با سی شارپ ارتباطش دادم
من روی فرمم یک دیتا گرید ویو دارم که وقتی فرم لود میشه اطلاعات داخل بانک را داخلش نمایش میده
کنار هر ردیف از اطلاعاتم یک چک باکس قرار دادم و میخوام وقتی تیک خورد radioButton1 فعال بشه و وقتی تیکش برداشته شد radioButton1 غیر فعال بشه و وقتی تیک خورد و radioButton1 هم تیکش خورد groupBox1 فعال بشه و اطلاعات بانکم را داخل سه تا تکس باکس نمایش بده و اونجا عمیلیات ویرایش را انجام بدی و با زدن دکمه ویرایش اطلاعات ویرایش شده داخل بانکم ثبت بشه.
ولی یک نکته میخوام اگر دوتا ردیف تیک خورد دیگه ویرایش فعال نشه شخص مورد نظر بتونه چندتا ردیف را تیک بزنه ولی اگر چندتا گزینه تیک خورد دیگه ویرایش و کلا برنامه بالا اجرا نشه و غیر فعال باشه (چون میخوام دکمه حذف فعال بشه و بشه چندتا را حذف کرد(البته سوال من دکمه حذف نیست))
اسم بانکم:
sjh
اسم جدولم:
farsh
فیلدهای بانکم:
fid(کلید)
fname
fprice


اینم یک نما از دیتا گرید ویو:

119225


میشه لطفا راهنماییم کنید (پروژه دانشگاهمه و گیر کردم)؟

seied javad
سه شنبه 30 اردیبهشت 1393, 22:12 عصر
لطفا یکی راهنماییم کنه حتی اگر راهنماییش کوچیک باشه خیلی خیلی کارم گیره.

ayshik
چهارشنبه 31 اردیبهشت 1393, 08:44 صبح
سلام

من کلاسی برای حذف کامل اطلاعات جدول به صورت زیر نوشتم:

public void delete1()
{
string del1 = "Truncate table printshow ";
clsconnect da = new clsconnect();
da.Connect();
da.ExecuteSql(del1);
da.DisConnect();
}

و برای استفاده از این کلاس در رویداد کلیک دکمه ای کد زیر را نوشتم:




clsdelete d=new clsdelete ();

d.delete1();

و هنگام اجرا این خطارو میبینم
cannot find object "printshow" because it dosenot exist or you do have permission
مشکلش کجاست؟
خاهش می کنم کمک کنید تا رفع بشه

seied javad
چهارشنبه 31 اردیبهشت 1393, 20:47 عصر
سلام

من کلاسی برای حذف کامل اطلاعات جدول به صورت زیر نوشتم:

public void delete1()
{
string del1 = "Truncate table printshow ";
clsconnect da = new clsconnect();
da.Connect();
da.ExecuteSql(del1);
da.DisConnect();
}

و برای استفاده از این کلاس در رویداد کلیک دکمه ای کد زیر را نوشتم:




clsdelete d=new clsdelete ();

d.delete1();

و هنگام اجرا این خطارو میبینم
cannot find object "printshow" because it dosenot exist or you do have permission
مشکلش کجاست؟
خاهش می کنم کمک کنید تا رفع بشه


شما عزیز باید یک تاپیک جدید درست کنی
این تاپیک ویرایشه
من از کد نویسی چیز زیادی نمیدونم ولی این طوری که خطا نشون میده printshow که توی خط اول نوشتی را نشناخته.

seied javad
چهارشنبه 31 اردیبهشت 1393, 20:47 عصر
لطفا یکی بابت ویرایش یک راهنمایی کنه

kazemiair
شنبه 29 تیر 1398, 01:56 صبح
ستون [0] ام از دیتاگرید رو انتخاب کن و براش داحل رویدادش از دستورات اس کیو ال برای Save کردنش استفاده کن

piroozman
دوشنبه 31 تیر 1398, 21:55 عصر
پیشنهادی که به ذهنم میرسه این هستش:
یک متغیر از نوع int بسازید که مقدار اولیه اون صفر باشه. در یکی از رویدادهای مناسب گرید هر وقت کاربر روی یکی از چک باکس ها کلیک کرد، اگر تیک بود یکی به اون متغیر از نوع int اضافه کنید و در همون لحظه مقدار نهایی متغیر رو چک کنید اگر برابر با یک بود Radiobutton و gorupbox خود را فعال کنید و اگر غیر از یک بود همون طور یر فعال بمونند.

Mahmoud Zaad
سه شنبه 01 مرداد 1398, 09:03 صبح
سلام
خیلی پیچیده اش کردید، یه ستون از نوع دکمه به گرید اضافه کنید و اگه روی اون دکمه در هر ردیف کلیک شد اطلاعات اون ردیف رو بفرستید به تکست باکس ها. رادیو باتن بالا رو هم بردارید. یه دکمه هم برای انصراف بذارید که اگه این دکمه رو زد تسکت باکس ها خالی بشن. البته ثبت رکورد رو هم از همینجا می تونید انجام بدید فقط کافیه یه متغیر از نوع Boolean هم داشته باشید که موقع ویرایش فالس میشه و موقع ثبت، ترو میشه و بر اساس این متغییر تشخیص میدید که چه کاری انجام بشه.(ثبت یا ویرایش)