PDA

View Full Version : مشکل در ثبت اطلاعات در دیتابیس



jaboli
پنج شنبه 01 مرداد 1394, 18:50 عصر
سلام.من با استفاده از dataset و datatable adapter دیتابیس طراحی کردم و از کدهای زیر برای اتصال به دیتابیس استفاده کردم و فرم به خوبی کار میکنه ولی هیچ چیز در دیتابیس ثبت نمیشه


private void button1_Click(object sender, EventArgs e)
{
PersianCalendar mycalendar = new PersianCalendar();
string year, month, day,mydate;
year = mycalendar.GetYear(DateTime.Now).ToString();
month = mycalendar.GetMonth(DateTime.Now).ToString();
day = mycalendar.GetDayOfMonth(DateTime.Now).ToString();
mydate = year+month.PadLeft(2,'0')+ day.PadLeft(2,'0');
DataSet1TableAdapters.SabtTableAdapter bimar = new DataSet1TableAdapters.SabtTableAdapter();
bimar.SabtBimar(name.Text, age.Text, bime.Text, tavalod.Text, nobimari.Text, shenasname.Text, Convert.ToInt32(mydate));
label4.Text = "مشخصات بیمار با موفقیت ثبت شد";

}

jaboli
پنج شنبه 01 مرداد 1394, 18:53 عصر
وقتی روی جدول show table data میزنم فیلدا فقط null نشون میده

Amir4317
پنج شنبه 01 مرداد 1394, 18:56 عصر
سلام
کد bimar.SabtBimar رو قرار بدید تا تحلیل بشه.
در صورت امکان تکه ای از برنامه رو قرار بدید.

jaboli
پنج شنبه 01 مرداد 1394, 19:24 عصر
سلام
کد bimar.SabtBimar رو قرار بدید تا تحلیل بشه.
در صورت امکان تکه ای از برنامه رو قرار بدید.
من دیتابیس هارو به صورت بصری از دیتاست ساختم این کد ثبت بیمار هستش


INSERT INTO [dbo].[Sabt] ([name], [age], [idbime], [mahaltavalod], [nobimari], [shomareshenasname], [tarikhozviat]) VALUES (@name, @age, @idbime, @mahaltavalod, @nobimari, @shomareshenasname, @tarikhozviat);
SELECT name, age, id, idbime, mahaltavalod, nobimari, shomareshenasname, tarikhozviat FROM Sabt WHERE (id = SCOPE_IDENTITY())

133497

jaboli
پنج شنبه 01 مرداد 1394, 23:29 عصر
کسی نیست مشکل منو حل کنه؟!

hadimtn
جمعه 02 مرداد 1394, 02:12 صبح
سلام.
[البته من با LINQ کار میکنم]
اخیراً برای منم همچین مشکلی پیش اومد!
عملیات فرم انجام میشد.
همه ی داده ها به ظاهر ذخیره میشدن ولی وقتی داخل vs جدول رو بررسی میکردم، همه ی ستون ها null بود. (جدول خالی)
مشکل اینجا بود که هنگام کامپایل شدن برنامه، نسخه ی اصلی پایگاه داده (که خالی بود) کپی میشد و تغییرات من روی اون نسخه (کپی شده) اعمال میشد.
برای دفعات بعد هم این پروسه طی میشد به خاطر همین همیشه تغییرات داده ای من از دست میرفت!
.
نمیدونم برای شما هم همین اتفاق میافته یا نه؟! ولی امیدوارم هر چه سریع‌تر مشکلت حل بشه!
.
در ضمن یه کم صبور باش! دوستانی که تجربه دارن حتما اگه سوال رو ببینن راهنمایی میکنن!

davidrobert
جمعه 02 مرداد 1394, 03:52 صبح
دوستان عزیز که این مشکل رو دارن شما دیتابیس رو در کنار سورس قرار دادید و ادرس از کنار سورس فراخونی میشه به همین دلیل وقتی برنامه اجرا میشه اطلاعات ذخیره میشه و نمایش میده و میاد ببنید ای دل قافل اطلاعات کوش علت این هستش که دیتابیس شما در کنار سورس خالی هستش از اولش و وقتی برنامه اجرا میکنید دیتابیس در کنار فایل اجرای قرار میگیره و وقتی اطلاعات ذخیره میشه از کنار فایل اجرای نمایش میده و فرم رو میبندید و باز میکنید اطلاعاتی موجود نیست توسعه من این هستش که دیتابیس رو در کنار فایل اجرای قرار بدید و ادرس محلی رو از کنار فایل اجرای قرار بدید که دیتابیس کنار فایل اجراری هستش چون جلو کپی دیتابیس که کنار فایل اجرای هستش گرفته میشه به همین دلیل شما اطلاعات دیتابیس تون رو میتونید ببنید. هر چند بار باز بسته کردن چون یک دیتابیس وجود داره نه 2 تا.

jaboli
جمعه 02 مرداد 1394, 08:52 صبح
سلام.
[البته من با LINQ کار میکنم]
اخیراً برای منم همچین مشکلی پیش اومد!
عملیات فرم انجام میشد.
همه ی داده ها به ظاهر ذخیره میشدن ولی وقتی داخل vs جدول رو بررسی میکردم، همه ی ستون ها null بود. (جدول خالی)
مشکل اینجا بود که هنگام کامپایل شدن برنامه، نسخه ی اصلی پایگاه داده (که خالی بود) کپی میشد و تغییرات من روی اون نسخه (کپی شده) اعمال میشد.
برای دفعات بعد هم این پروسه طی میشد به خاطر همین همیشه تغییرات داده ای من از دست میرفت!
.
نمیدونم برای شما هم همین اتفاق میافته یا نه؟! ولی امیدوارم هر چه سریع‌تر مشکلت حل بشه!
.
در ضمن یه کم صبور باش! دوستانی که تجربه دارن حتما اگه سوال رو ببینن راهنمایی میکنن!
ممنون فکر کنم همین هستش که شما میگید ولی راه حل رو نگفتید!!

jaboli
جمعه 02 مرداد 1394, 08:53 صبح
دوستان عزیز که این مشکل رو دارن شما دیتابیس رو در کنار سورس قرار دادید و ادرس از کنار سورس فراخونی میشه به همین دلیل وقتی برنامه اجرا میشه اطلاعات ذخیره میشه و نمایش میده و میاد ببنید ای دل قافل اطلاعات کوش علت این هستش که دیتابیس شما در کنار سورس خالی هستش از اولش و وقتی برنامه اجرا میکنید دیتابیس در کنار فایل اجرای قرار میگیره و وقتی اطلاعات ذخیره میشه از کنار فایل اجرای نمایش میده و فرم رو میبندید و باز میکنید اطلاعاتی موجود نیست توسعه من این هستش که دیتابیس رو در کنار فایل اجرای قرار بدید و ادرس محلی رو از کنار فایل اجرای قرار بدید که دیتابیس کنار فایل اجراری هستش چون جلو کپی دیتابیس که کنار فایل اجرای هستش گرفته میشه به همین دلیل شما اطلاعات دیتابیس تون رو میتونید ببنید. هر چند بار باز بسته کردن چون یک دیتابیس وجود داره نه 2 تا.
دوست عزیز منظورتون از کنار فایل اجرایی باشه یعنی چی؟!! من دیتابیس از از بخش server solution ساختم.منظورتون اینه از قسمت add new بسازم؟!

davidrobert
جمعه 02 مرداد 1394, 10:17 صبح
دوست عزیز منظورتون از کنار فایل اجرایی باشه یعنی چی؟!! من دیتابیس از از بخش server solution ساختم.منظورتون اینه از قسمت add new بسازم؟!
ماه از دو روش دیتابیس میسازیم یا دیتابیس کنار فایل
میسازیم یا در اسکیول سرور دیتابیس میسازیم وقتی در اسکیول سرور دیتابیس رو بسازیم به کل از یک طرف دیتابیس فراخونی میشه ولی وقتی دیتابیس خارج از اسکیول سرور بسازیم باعث میشه یک فایل mdf در برون که برای اسکیول سرور هستش داشته باشیم و اون فایل رو که mdf هستش پسوندش رو در جای از سیستم قرار میدیدم مثلا در کنار سور وقتی برنامه اجرا میشه دیتابیس کپی میشه اتوماتیک و ارسال میشه در کنار فایل اجرای و این و دیتابیس از کنار فایل اجرای خوانده میشه و ذخیره میشه ولی دیتابیس در کنار سورس ها هستش خام هستش و هی در هر بار اجرا دیتابیس خام کنار فایل ایجاد میشه و دیتابیس رو خوام نشان میده.
منظورم در کنار فایل اجرای باشه یعنی پوشه bin\debug باشه و ادرس دهی رو از اونجا فرابخونید و دیتابیس کنار سورس رو پاک کنید و یک جا دیتابیس باشه

jaboli
جمعه 02 مرداد 1394, 10:33 صبح
ماه از دو روش دیتابیس میسازیم یا دیتابیس کنار فایل
میسازیم یا در اسکیول سرور دیتابیس میسازیم وقتی در اسکیول سرور دیتابیس رو بسازیم به کل از یک طرف دیتابیس فراخونی میشه ولی وقتی دیتابیس خارج از اسکیول سرور بسازیم باعث میشه یک فایل mdf در برون که برای اسکیول سرور هستش داشته باشیم و اون فایل رو که mdf هستش پسوندش رو در جای از سیستم قرار میدیدم مثلا در کنار سور وقتی برنامه اجرا میشه دیتابیس کپی میشه اتوماتیک و ارسال میشه در کنار فایل اجرای و این و دیتابیس از کنار فایل اجرای خوانده میشه و ذخیره میشه ولی دیتابیس در کنار سورس ها هستش خام هستش و هی در هر بار اجرا دیتابیس خام کنار فایل ایجاد میشه و دیتابیس رو خوام نشان میده.
منظورم در کنار فایل اجرای باشه یعنی پوشه bin\debug باشه و ادرس دهی رو از اونجا فرابخونید و دیتابیس کنار سورس رو پاک کنید و یک جا دیتابیس باشه
فکر کنم دیتابیس در فولدر دیباگ هستش
133508

davidrobert
جمعه 02 مرداد 1394, 12:37 عصر
بله دیتابیس در فولدر دیباگ هستش ولی شما دارید دیتابیس رو از کجا فراخونی میکنید اون جا رو پاک کنید یعنی کنار سورس داره فراخونی میشه و به کانکشن دست نزنید کانکشن درست هستش دیتابیس رو از کنار سورس حذف کنید.

jaboli
جمعه 02 مرداد 1394, 16:45 عصر
بله دیتابیس در فولدر دیباگ هستش ولی شما دارید دیتابیس رو از کجا فراخونی میکنید اون جا رو پاک کنید یعنی کنار سورس داره فراخونی میشه و به کانکشن دست نزنید کانکشن درست هستش دیتابیس رو از کنار سورس حذف کنید.
اگه از جای سورس حذف کنم از قسمت اصلی حذف نمیشه؟!چون من وقتی از قسمت server explorer ساختم خود به خود کنار سورس هم اومد خودش

davidrobert
جمعه 02 مرداد 1394, 16:57 عصر
شما تنها کاری که باید کنید این هستش که دیتابیس رو در کنار فایل اجرای باز کنید با server explorer و دیتابیس اضافه که کنار سورس هستش رو حذف کنید و اون دیتابیس رو خود به خود ارسال نکرد گذینه کپی دیتابیس true بوده وقتی برنامه اجرا میشه با هر باز اجرا دیتابیس در مسیر جدید یا همون فایل اجرای اجرا میشه و شما باید فقط دیتابیس کنار فایل اجرای قرار بدید و کنار سورس حذف کنید و از قسمت اصلی حذف نمیشه فقط باید مسیر شو در Server explorer عوض کنید.

jaboli
جمعه 02 مرداد 1394, 17:07 عصر
شما تنها کاری که باید کنید این هستش که دیتابیس رو در کنار فایل اجرای باز کنید با server explorer و دیتابیس اضافه که کنار سورس هستش رو حذف کنید و اون دیتابیس رو خود به خود ارسال نکرد گذینه کپی دیتابیس true بوده وقتی برنامه اجرا میشه با هر باز اجرا دیتابیس در مسیر جدید یا همون فایل اجرای اجرا میشه و شما باید فقط دیتابیس کنار فایل اجرای قرار بدید و کنار سورس حذف کنید و از قسمت اصلی حذف نمیشه فقط باید مسیر شو در Server explorer عوض کنید.
من متوجه منظورتون نمیشم.یعنی من از قسمت solution explorer/add/new item/local database بسازم؟!

jaboli
جمعه 02 مرداد 1394, 17:56 عصر
لطفا یکی کامل و واضح توضیح بده برای کار با دیتاست و ساخت دیتابیس از این روش دقیقا باید چیکار کرد؟!!

davidrobert
جمعه 02 مرداد 1394, 19:56 عصر
لطفا یکی کامل و واضح توضیح بده برای کار با دیتاست و ساخت دیتابیس از این روش دقیقا باید چیکار کرد؟!!

میخواهید دیتابیس رو بسازید در کنار فایل اجرای بسازید دیتابیس رو و با این مشکل بر خورد نمیکنید. چون اول و آخر باید دیتابیس رو کنار فایل اجرای قرار بدید برای کار کردن که به صورت محلی بشناسونه دیتابیس رو چون ستاپ میسازید تو فایل ستاپ میاد دیتابیس رو کنار فایل اجرای قرار میدید که برنامه بدون مشکلی اجرا بشه اگه خواصتید بهتر توضیح بدم روی ادی من بزن آنلاین بودم جواب میدم .
sdvp_1991@yahoo.com

jaboli
جمعه 02 مرداد 1394, 23:09 عصر
میخواهید دیتابیس رو بسازید در کنار فایل اجرای بسازید دیتابیس رو و با این مشکل بر خورد نمیکنید. چون اول و آخر باید دیتابیس رو کنار فایل اجرای قرار بدید برای کار کردن که به صورت محلی بشناسونه دیتابیس رو چون ستاپ میسازید تو فایل ستاپ میاد دیتابیس رو کنار فایل اجرای قرار میدید که برنامه بدون مشکلی اجرا بشه اگه خواصتید بهتر توضیح بدم روی ادی من بزن آنلاین بودم جواب میدم .
sdvp_1991@yahoo.com
add کردم باهاتون در تماس خواهم بود
مرسی

Amir4317
جمعه 02 مرداد 1394, 23:24 عصر
احتمالاً اشکال از رشته‌ی اتصال به بانک هست.
یا اینکه اتصال به کلی برقرار نشده اصلاً !

پیشنهاد میکنم یک پروژه‌ی ساده و آماده از اینترنت بگیرید و طرز کار رو یاد بگیرید.:چشمک:

jaboli
شنبه 03 مرداد 1394, 08:32 صبح
احتمالاً اشکال از رشته‌ی اتصال به بانک هست.
یا اینکه اتصال به کلی برقرار نشده اصلاً !

پیشنهاد میکنم یک پروژه‌ی ساده و آماده از اینترنت بگیرید و طرز کار رو یاد بگیرید.:چشمک:
آخه روشی که من قبلا یاد گرفتم ساخت دیتابیس با استفاده از dataset بوده برای asp.net و استادمون گفته با همین روش برای سی شارپ هم انجام میشه که همچین روشی تو اینترنت اصلا پیدا نمیشه!!!!