PDA

View Full Version : وارد کردن اطلاعات در بانک اطلاعاتی



sunn789
سه شنبه 24 خرداد 1390, 22:11 عصر
با سلام
من میخوام از صفحه تماس با ما اطلاعات رو وارد بانک اطلاعاتی کنم اما خطا میگیرم این هم کد نظرتون چیه ؟
tblContact contactInfo = new tblContact();
contactInfo.Address = "";
contactInfo.ComentDate = DateTime.Now;
contactInfo.Comment = txb_From_Comment.Text;
contactInfo.Country = 1;
contactInfo.Email = "";
contactInfo.Fax =123456;
contactInfo.FirstName = txb_From_FullName.Text;
contactInfo.LastName = txb_From_FullName.Text;
contactInfo.Mobile = 123;
contactInfo.Phone =decimal.Parse( txb_From_Phone.Text);
contactInfo.Province = "";
contactInfo.Subject = "From Website";
contactInfo.Website = "";

db.tblContacts.Add(contactInfo);
try
{
db.SubmitChanges();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

imanamami
سه شنبه 24 خرداد 1390, 22:15 عصر
چرا از این روش می خواهید برای ثبت اطلاعات استفاده کنید؟

sunn789
سه شنبه 24 خرداد 1390, 22:20 عصر
شما بفرمایید من هم اجرا میکنم دنبال راه بهتر میگردم

imanamami
سه شنبه 24 خرداد 1390, 22:35 عصر
منظورم این نبود.
خودم از Data set استفاده می کنم.اینجوری خیلی راحت تره.

sunn789
سه شنبه 24 خرداد 1390, 22:40 عصر
oخوب dataset تقریباً قدیمی شده و ado.net خیلی جاها راحت تره حال اینکه من اشتباه رفتم بحث دیگه ای است الان میخوام فقط کد اجرا بشه تا بعداً به روش جدید bindin در XAML , و ترکیب با Ado.net entity و استفاده ار Ria سرویس , WCF میتونه کاره ا رو راحت تر کنه

imanamami
سه شنبه 24 خرداد 1390, 22:55 عصر
آره خوب Linq هم خیلی خوبه جواب می ده.
خوب حالا می خوای مشکل این کد شما رو بر طرف کنیم؟؟

sunn789
سه شنبه 24 خرداد 1390, 23:18 عصر
شما امر بفرمایید.

مهدی فرزاد
سه شنبه 24 خرداد 1390, 23:56 عصر
چه خطایی میده؟

sunn789
چهارشنبه 25 خرداد 1390, 00:03 صبح
Break point گذاشتم ار SubmitChanges() مگذره اما بعد از گذشت اکولاد اخری همون صفحه ای که میخواد از دیباگر استفاده کنه رو میده ، یه مطلب دیگه چه جوری میشه خاصیت ار databinding در Text و Mode= Twoway استفاده کرد به نحوی که اطلاعات قبلی برای کاربر که قراره از طریق صفحه ارتباط با ما اطلاعات رو وارد کنه ارو نبینه
مطلب ذیگه اینکه میخوام زمان ارسال رو هم ذخیره کنم اما کاربر لازم نباشه زمان وارد کنه خود به خود زمان ارسال اطلاعات در بانک ذخیره شه.

مهدی فرزاد
چهارشنبه 25 خرداد 1390, 01:47 صبح
سلام
نوع فیلد ها رو یک بار دیگه با دیتابیس چک کنید

چه جوری میشه خاصیت ار databinding در Text و Mode= Twoway استفاده کرد به نحوی که اطلاعات قبلی برای کاربر که قراره از طریق صفحه ارتباط با ما اطلاعات رو وارد کنه ارو نبینهمتوجه منظورتون نمیشم

برای ثبت زمان کافیه مقدار DateTime.Now رو ذخیره کنید

sunn789
چهارشنبه 25 خرداد 1390, 17:25 عصر
سلام
متوجه منظورتون نمیشم

منظورم اینه که من بی خیال روش اولی شم که در بالا نوشتم روش رایجی که توی xaml هست استفاده از خاصیت Binding در قسمت text در XAML هست فقط یه مشکل اگه به طور معمولی اینو بنویسم کاربر میتونه اخرین و یا اولین رکوردی که در بانک اطلاعاتی ذخیره شده رو ببینه و فقط با زدن کلید New و یا جدید در فرم میتونه یک رکورد جدید وارد کنه و این برای یک صفحه تماس با ما خوب نیست
میخوام بدونم میشه از ایتمهایی که در بالا گفتم استفاده کرد و زمانی که کاربر صفحه تماس با ما رو کلیک میکنه تمامی Text Box ها رو خالی ببینه؟

مهدی فرزاد
چهارشنبه 25 خرداد 1390, 18:52 عصر
سلام
این طبیعی هست
راهش اینه که در زمان لود صفحه یک رکورد جدید به Collection اضافه کنی (ولی ذخیره نشه) و اون رکورد رو برای نمایش در Binding قراخونی کنی و بعد از زدن دکمه ثبت ذخیره کنی