PDA

View Full Version : سوال: راهنمایی جهت ذخیره کردن و نمایش دادن تاریخ تولد در دیتابیس و dataGridView (سی شارپ+اس کیو ال کامپکت)



booysusa
شنبه 12 آبان 1397, 09:50 صبح
با درود
من یه برنامه نوشتم حالا میخوام بجز نام و نام خانوادگی، تاریخ تولد هم ذخیره کنه و نمایش بده
این فایل برنامه من هست
لطفا دانلود و بررسی کنید
لینک دانلود (http://s9.picofile.com/file/8341684568/Daftarche_Phone_.zip.html)


این تیکه کدهایی هست که من برای برنامه نوشتم لطفا راهنمایی کنید چطوری باید تاریخ را درج کنم که مثلا بصورت 1397/08/12 در بیاید
لازم به ذکر هست که داده های سطر تاریخ تولد رو Datetime تنظیم کردم
من نوشتن کد ذخیره تاریخ را بلد نیستم، معمولا با Nvarchar وارد می کردم که کار زیبایی نیست و همچنین نمیخوام مدام اسلش ها / را بصورت دستی وارد کنم برای همین میخواهم با داده های Datetime وارد دیتابیس کنم

البته من منظورم این هست که در TextBox بصورت دستی هم بتونم تاریخ وارد کنم کافی هست ولی این هم یک DLL تقویم فارسی بسیار زیبا هست که اگر بشود در برنامه استفاده کردم عالی هست
149202

Mahmoud.Afrad
یک شنبه 13 آبان 1397, 10:24 صبح
نوع ستون برای تاریخ را از نوع Date انتخاب کنید. کامپوننتها معمولا پراپرتی ای از نوع date دارند که تاریخ انتخابی را به صورت میلادی در دسترس قرار میدن ولی میتونید تاریخ شمسی را هم خودتون تبدیل کنید.
تبدیل تاریخ شمسی به میلادی (http://barnamenevis.org/showthread.php?463812-تبدیل-تاریخ-شمسی-به-میلادی)

ذخیره در دیتابیس را هم با پارامتر انجام بدید که به مشکل نخورید.

booysusa
یک شنبه 13 آبان 1397, 16:34 عصر
مشکل من این هست که نمیدونم چطوری باید کد رو وارد دیتابیس کنم چون تا جایی که میدونم باید کانورت بشه فکر کنم

اسم تکست باکسی که باید اطلاعات را در خودش جای دهد txtDateofbirth است ولی زین پس میخوام از maskedboxtext استفاده کنم

من نحوه ارسال اطلاعات به دیتابیس (کانورت کردن تاریخ) را نمیدونم، میخوام بصورت datetime اطلاعات ذخیره شوند، چون زیبا نیست که من رشته نوشتاری رو در دیتابیس بعنوان تاریخ وارد کنم در صورتی که میتونم از داده هایی با نوع datetime استفاده کنم، اگر امکانش هست فایلی که قبلا براتون آپلود کردم را ویرایش کنید به نحوی که در maskedtextbox اطلاعات وارد شود و بصورت datetime ذخیره شود ، سپاسگزارم



امیدوارم منظورم رو تونسته باشم برسونم

من نمیخوام تاریخ روز خاصی را سیستم بطور اتوماتیک نمایش بدهد، من فقط میخوام بدونم کدی که برای درج تاریخ در دیتابیس استفاده میشود چه هست؟
مثلا این تیکه کد برای استفاده Nvarchar در دیتابیس هست
mycommand.Parameters.AddWithValue("@SerialBirthCertificate", txtSerialBirthCertificateV.Text);

حالا تیکه کدی که بتوانم تاریخ دستی که برای تولد یک نفر در maskedtextbox قرار بدهم را نیاز دارم، یا مثلا کد Convert کردن یا....

davidrobert
دوشنبه 14 آبان 1397, 12:18 عصر
با درود
من یه برنامه نوشتم حالا میخوام بجز نام و نام خانوادگی، تاریخ تولد هم ذخیره کنه و نمایش بده
این فایل برنامه من هست
لطفا دانلود و بررسی کنید
لینک دانلود (http://s9.picofile.com/file/8341684568/Daftarche_Phone_.zip.html)


این تیکه کدهایی هست که من برای برنامه نوشتم لطفا راهنمایی کنید چطوری باید تاریخ را درج کنم که مثلا بصورت 1397/08/12 در بیاید
لازم به ذکر هست که داده های سطر تاریخ تولد رو Datetime تنظیم کردم
من نوشتن کد ذخیره تاریخ را بلد نیستم، معمولا با Nvarchar وارد می کردم که کار زیبایی نیست و همچنین نمیخوام مدام اسلش ها / را بصورت دستی وارد کنم برای همین میخواهم با داده های Datetime وارد دیتابیس کنم

البته من منظورم این هست که در TextBox بصورت دستی هم بتونم تاریخ وارد کنم کافی هست ولی این هم یک DLL تقویم فارسی بسیار زیبا هست که اگر بشود در برنامه استفاده کردم عالی هست
149202


دوست عزیز پیشنهادی که میکنم نوع تاریخ Date قرار بدید و زمان همان time باشه تاریخ داخل برنامه سیستم شمسی بنویسید کامل به این صورد 1397/02/03 این فایل که میدم خدمت شما
لینک دانلود (http://s8.picofile.com/file/8341862884/Date.sql.html) Function هستن روی خود دیتابیس تبدیل تاریخ شمسی به میلادی و برعکس انجام میده و سرعتش عالی.
موقع ذخیره تاریخ شمسی به میلادی به این صورت دستور به کار ببرید. در دستور insert که پارامتر ارسال میکنید پارامتر تاریخ به این صورت باشه

(select dbo.ShamsiToMiladi( @GVD_Date_Sabt_Sanad))

تاریخ شمسی میگیره ولی میخواد بفرسته به دیتابیس همان لحظه تبدیل به میلادی میکنه یا نه برعس میخواهی تاریخ میلادی شمسی ببنید به این صورت عمل کنید.

(SELECT dbo.MakeCompleteShmsiDate(Tbl_Gobouz_Vosual_Derame d.GVD_Insert_Date, '/') AS Expr1) AS GVD_Insert_Date

هم سریع تبدیل تاریخ انجام میشه و هم تاریخ آسیب نمیبینه چون فایل دادم چون برحسب ویندوز های مختلف بنده سر تاریخ با مشکل برخورد کردم به خصوص ویندوز 10 که تاریخ شمسی داشت تاریخ ویندوز شمسی بود و تاریخ میلادی دستی میفرستاد تاریخ 208 رو 2600 بهم نشان میداد ولی با این Function دیگه تاریخ ام آسیب ندید و سرعت و کدنویسی من کمتر شد. این Function ها بدون ایراد هستن نمونه زیادی از این دستور بود ولی تا سال 1280 پشتیبانی نمیکرد ولی این پشتبانی میکنه و بدون مشکل تبدیل درست انجام میده.

booysusa
دوشنبه 14 آبان 1397, 12:46 عصر
این خط برای چی هست؟
maskedTextBoxAdv2.Text = dt.ToShortDateString();

من میخوام تاریخ تولد کاربر را از maskedTextBox بصورت شمسی دریافت کند و وارد دیتابیس کند، در صورتی که فقط میلادی دریافت می کنه و نمایش میده، کد شمارم زدم ولی اتفاق خاصی نیوفتاد، این تیکه کد maskedTextBoxAdv2.Text = dt.ToShortDateString(); رو هم که اصلا نمیدونم برای چی هست!

davidrobert
دوشنبه 14 آبان 1397, 12:56 عصر
این خط برای چی هست؟
maskedTextBoxAdv2.Text = dt.ToShortDateString();

من میخوام تاریخ تولد کاربر را از maskedTextBox بصورت شمسی دریافت کند و وارد دیتابیس کند، در صورتی که فقط میلادی دریافت می کنه و نمایش میده، کد شمارم زدم ولی اتفاق خاصی نیوفتاد، این تیکه کد maskedTextBoxAdv2.Text = dt.ToShortDateString(); رو هم که اصلا نمیدونم برای چی هست!

دوست عزیز کد من سمت سرور هستش شما اول Function درون دیتابیس خود ایجاد میکنید. بعد در کوئری ها ذخیره به این صورت به کار میبرید.

INSERT INTO Tbl_Gobouz_Vosual_Deramed
(GVD_SHS_ShomareSanad, GVD_Date_Sabt_Sanad, GVD_Gevahe_Motesede, GVD_Sang, GVD_Gevaye_Be_Edarat, GVD_Sard_Khone, GVD_Naeloun, GVD_Cover, GVD_Shostosho_V_Kafan, GVD_Nemasaze,
GVD_Jame_Avery_V_Ya_Zedofone_Ambolance, GVD_Tashkel_Pervande, GVD_Khedemat_Baz_Kardan_Gabr_Amade, GVD_Soder_Gavaye_Sabt_Ahval, GVD_Soder_Gavaye_Dafn, GVD_Sodor_Sanad_Hag_Entgal_Az_Gabr,
GVD_Sayer_Title1, GVD_Sayer_Money1, GVD_Sayer_Title2, GVD_Sayer_Money2, GVD_Baste_Farhange, GVD_Darsad_Maleyat, GVD_Dafn, GVD_Pesh_Forosh, GVD_Integal, GVD_Tashi, GVD_Tvagof, GVD_Mablag_Takhfef,
GVD_M_ID, GVD_M_Money, GVD_CVA_Code_Ranande, GVD_CVA_Code_Ranande1, GVD_Moshekhesat_Perdakht_Konenede, GVD_Shomare_Perdakhtkonende, GVD_CM_Code_Mali, GVD_UserName, GVD_Aramga, GVD_IP,
GVD_Insert_Date, GVD_Insert_Time,GVD_Nahve_Perdakht)
VALUES (@GVD_SHS_ShomareSanad,(select dbo.ShamsiToMiladi( @GVD_Date_Sabt_Sanad)),@GVD_Gevahe_Motesede,@GVD_S ang,@GVD_Gevaye_Be_Edarat,@GVD_Sard_Khone,@GVD_Nae loun,@GVD_Cover,@GVD_Shostosho_V_Kafan,@GVD_Nemasa ze,@GVD_Jame_Avery_V_Ya_Zedofone_Ambolance,@GVD_Ta shkel_Pervande,@GVD_Khedemat_Baz_Kardan_Gabr_Amade ,@GVD_Soder_Gavaye_Sabt_Ahval,@GVD_Soder_Gavaye_Da fn,@GVD_Sodor_Sanad_Hag_Entgal_Az_Gabr,@GVD_Sayer_ Title1,@GVD_Sayer_Money1,@GVD_Sayer_Title2,@GVD_Sa yer_Money2,@GVD_Baste_Farhange,@GVD_Darsad_Maleyat ,@GVD_Dafn,@GVD_Pesh_Forosh,@GVD_Integal,@GVD_Tash i,@GVD_Tvagof,@GVD_Mablag_Takhfef,@GVD_M_ID,@GVD_M _Money,@GVD_CVA_Code_Ranande,@GVD_CVA_Code_Ranande 1,@GVD_Moshekhesat_Perdakht_Konenede,@GVD_Shomare_ Perdakhtkonende,@GVD_CM_Code_Mali,@GVD_UserName,@G VD_Aramga,@GVD_IP,@date,@time,@GVD_Nahve_Perdakht)

و برای نمایش به این صورت به کار میبرید.

SELECT GVD_ID, GVD_SHS_ShomareSanad,
(SELECT dbo.MakeCompleteShmsiDate(Tbl_Gobouz_Vosual_Derame d.GVD_Date_Sabt_Sanad, '/') AS Expr1) AS GVD_Date_Sabt_Sanad, GVD_Gevahe_Motesede, GVD_Sang, GVD_Gevaye_Be_Edarat, GVD_Sard_Khone,
GVD_Naeloun, GVD_Cover, GVD_Shostosho_V_Kafan, GVD_Nemasaze, GVD_Jame_Avery_V_Ya_Zedofone_Ambolance, GVD_Tashkel_Pervande, GVD_Khedemat_Baz_Kardan_Gabr_Amade, GVD_Soder_Gavaye_Sabt_Ahval,
GVD_Soder_Gavaye_Dafn, GVD_Sodor_Sanad_Hag_Entgal_Az_Gabr, GVD_Sayer_Title1, GVD_Sayer_Money1, GVD_Sayer_Title2, GVD_Sayer_Money2, GVD_Baste_Farhange, GVD_Jame_Kol1, GVD_Darsad_Maleyat,
GVD_Mablag_Maleyat, GVD_Mablag_Kol_Maleyat, GVD_Dafn, GVD_Pesh_Forosh, GVD_Integal, GVD_Tashi, GVD_Tvagof, GVD_Jame_Hazene2, GVD_Mablag_Takhfef, GVD_Mablag_Kol_Takhfef, GVD_M_ID, GVD_M_Money,
GVD_Jame_Mablag_Perdakhte, GVD_CVA_Code_Ranande, GVD_CVA_Code_Ranande1, GVD_Moshekhesat_Perdakht_Konenede, GVD_Shomare_Perdakhtkonende, GVD_CM_Code_Mali, GVD_UserName, GVD_Aramga,
GVD_Insert_Time, GVD_IP,
(SELECT dbo.MakeCompleteShmsiDate(Tbl_Gobouz_Vosual_Derame d.GVD_Insert_Date, '/') AS Expr1) AS GVD_Insert_Date,
(SELECT dbo.MakeCompleteShmsiDate(Tbl_Gobouz_Vosual_Derame d.GVD_Update_Date, '/') AS Expr1) AS GVD_Update_Date, GVD_Update_Time, GVD_Count_Total
FROM Tbl_Gobouz_Vosual_Deramed

به این صورت تاریخ میلادی میشه شمسی
149210
به این صورت تاریخ شمسی میشه میلادی
149211

davidrobert
دوشنبه 14 آبان 1397, 12:59 عصر
این خط برای چی هست؟
maskedTextBoxAdv2.Text = dt.ToShortDateString();

من میخوام تاریخ تولد کاربر را از maskedTextBox بصورت شمسی دریافت کند و وارد دیتابیس کند، در صورتی که فقط میلادی دریافت می کنه و نمایش میده، کد شمارم زدم ولی اتفاق خاصی نیوفتاد، این تیکه کد maskedTextBoxAdv2.Text = dt.ToShortDateString(); رو هم که اصلا نمیدونم برای چی هست!

این خط میگه تاریخ کوتاه و میلادی بگیر از به شرط اینکه منظور شما از dt یا همان PersianClander باشه

booysusa
دوشنبه 14 آبان 1397, 21:47 عصر
من هر کاری می کنم نمیتونم تاریخ رو درست درج کنم، میتونید برام ویرایش کنید

میخوام تاریخ شمسی در فرم ثبت بشه و در قسمت DataGridview هم شمسی نمایش بده

لینک دانلود (http://s9.picofile.com/file/8341916484/Daftarche_Phone.zip.html)

davidrobert
سه شنبه 15 آبان 1397, 01:21 صبح
من هر کاری می کنم نمیتونم تاریخ رو درست درج کنم، میتونید برام ویرایش کنید

میخوام تاریخ شمسی در فرم ثبت بشه و در قسمت DataGridview هم شمسی نمایش بده

لینک دانلود (http://s9.picofile.com/file/8341916484/Daftarche_Phone.zip.html)

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

booysusa
سه شنبه 15 آبان 1397, 10:09 صبح
دیتابیس من از نوع sql compact هست و شما فقط با این برنامه میتونید دیتابیس من رو باز کنید
لینم دانلود برنامه SDF Viewer (http://s8.picofile.com/file/8341247292/SDF_Viewer_v1_8_8.rar.html)
اینم لینک دانلود خود فایل دیتابیس پسوند اون SDF هست
لینک دانلود (http://s8.picofile.com/file/8341954442/GhazaiiDB.sdf.html)
اینم اسکرین شات از درون دیتابیس که با برنامه SDF Viewer بازش کردم
لینک عکس دیتابیس من (http://s8.picofile.com/file/8341954492/databesme.PNG)

البته من دقیق متوجه نشدم منظورتون از ارتباط برقرار کردن چی هست؟

davidrobert
سه شنبه 15 آبان 1397, 19:04 عصر
دیتابیس من از نوع sql compact هست و شما فقط با این برنامه میتونید دیتابیس من رو باز کنید
لینم دانلود برنامه SDF Viewer (http://s8.picofile.com/file/8341247292/SDF_Viewer_v1_8_8.rar.html)
اینم لینک دانلود خود فایل دیتابیس پسوند اون SDF هست
لینک دانلود (http://s8.picofile.com/file/8341954442/GhazaiiDB.sdf.html)
اینم اسکرین شات از درون دیتابیس که با برنامه SDF Viewer بازش کردم
لینک عکس دیتابیس من (http://s8.picofile.com/file/8341954492/databesme.PNG)

البته من دقیق متوجه نشدم منظورتون از ارتباط برقرار کردن چی هست؟

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

Mahmoud.Afrad
چهارشنبه 16 آبان 1397, 02:05 صبح
دو متد زیر را اضافه کنید
DateTime ShamsiBeMiladi(string shamsi)
{
return DateTime.Parse(shamsi, CultureInfo.GetCultureInfo("fa-ir"));
}

string MiladiBeShamsi(DateTime miladi)
{
PersianCalendar pc = new PersianCalendar();
return pc.GetYear(miladi).ToString("0000/") +
pc.GetMonth(miladi).ToString("00/") +
pc.GetDayOfMonth(miladi).ToString("00");
}
در زمان درج یا آپدیت به صورت زیر عمل کنید
mycommand.Parameters.AddWithValue("@DateOfBirth", ShamsiBeMiladi(mskDateOfBirth.Text));
در زمان دریافت و جستجو یک ستون جدید اضافه و با حلقه تاریخ را تبدیل کنید
مثلا
public void ShowFromDatabase()
{
//...
myDataAdapter.Fill(myDataTable);

myDataTable.Columns.Add("BirthDateShamsi");
foreach (DataRow row in myDataTable.Rows)
{
if (row["DateOfBirth"] == null) continue;
DateTime dt = (DateTime) row["DateOfBirth"];
row["BirthDateShamsi"] = MiladiBeShamsi(dt);
}

//...
}



در صورت امکان دیتابیس را به sqlite تبدیل کنید که برنامه قابلیت حمل بهتری داشته باشد.
از لایه بندی و شئ گرایی استفاده کنید. دفترچه تلفن یک تمرین خوب برای یادگیری این دو موضوع هست.

booysusa
چهارشنبه 16 آبان 1397, 08:51 صبح
در صورت امکان دیتابیس را به sqlite تبدیل کنید که برنامه قابلیت حمل بهتری داشته باشد.
از لایه بندی و شئ گرایی استفاده کنید. دفترچه تلفن یک تمرین خوب برای یادگیری این دو موضوع هست.[/QUOTE]

واقعا سپاسگزارم، دقیقا همین را نیاز داشتم و درست عملکرد

تنها یک چیز:
آیا امکان دارد ادد کردن یک ستون غیرفعال شود، چون من از قبل یک ستون برای نمایش تاریخ در نظر گرفته ام به نام ClmnDateOfBirth

Mahmoud.Afrad
چهارشنبه 16 آبان 1397, 10:16 صبح
واقعا سپاسگزارم، دقیقا همین را نیاز داشتم و درست عملکرد

تنها یک چیز:
آیا امکان دارد ادد کردن یک ستون غیرفعال شود، چون من از قبل یک ستون برای نمایش تاریخ در نظر گرفته ام به نام ClmnDateOfBirth

DataPropertyName ستون ClmnDateOfBirth را برابر نام ستون جدید(BirthDateShamsi) قرار بدید. ستون DateOfBirth را هم مخفی(و یا حذف) کنید.

booysusa
چهارشنبه 16 آبان 1397, 10:40 صبح
سپاسگزارم ، درست شد
فقط یک چیز، اینجا چرا خطا میده؟ من داده DateOfBirth رو کانورت کردم و درست شد ولی DateOfBirth = ""; رو نمیدونم چرا خطای قرمز رنگ میاد کنار سیمی کالونش

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//وقتی کاربری روی هر یک از ردیف ها کلیک میکنه این رویداد اجرا میشه
//و ما اطلاعات اون ردیف رو تو متغییر ها میریزیم.
if (e.RowIndex != -1)
{
FirstName = "";
LastName = "";
NationalCode = "";
Password = "";
TemporayPassword = "";
Mobile = "";
SerialBirthCertificate = "";
DateOfBirth = ""; //اینجا خطا میدهد، شاید بخاطر این هست که من Datetime استفاده میکنم و مانند سابق از nvarchar استفاده نمی کنم


FirstName = dataGridView1.Rows[e.RowIndex].Cells["ClmnFirstName"].Value.ToString();
LastName = dataGridView1.Rows[e.RowIndex].Cells["ClmnLastName"].Value.ToString();
NationalCode = dataGridView1.Rows[e.RowIndex].Cells["ClmnNationalCode"].Value.ToString();
Password = dataGridView1.Rows[e.RowIndex].Cells["ClmnTemporayPassword"].Value.ToString();
TemporayPassword = dataGridView1.Rows[e.RowIndex].Cells["ClmnMobile"].Value.ToString();
Mobile = dataGridView1.Rows[e.RowIndex].Cells["ClmnSerialBirthCertificate"].Value.ToString();
SerialBirthCertificate = dataGridView1.Rows[e.RowIndex].Cells["ClmnSerialBirthCertificate"].Value.ToString();
//DateOfBirth = dataGridView1.Rows[e.RowIndex].Cells["ClmnDateOfBirth"].ToString();
//DateOfBirth = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells["ClmnDateOfBirth"].Value);
DateOfBirth = Convert.ToDateTime(dataGridView1.Rows[e.RowIndex].Cells["ClmnDateOfBirth"].Value).ToString(); // این هم کلا قرمز شده است
ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["ClmnID"].Value);
}
}

با گفته شما پیش رفتم و درست شد ولی یه خطای کوچیک دیگه ظاهر شد که در بالا اشاره کردم بهش

Mahmoud.Afrad
چهارشنبه 16 آبان 1397, 22:58 عصر
به قسمت زیر نیازی نیست چون پایین تر دوباره مقداردهی میشن.
FirstName = "";
LastName = "";
NationalCode = "";
Password = "";
TemporayPassword = "";
Mobile = "";
SerialBirthCertificate = "";
DateOfBirth = "";
خطای دوم هم به خاطر متد ToString هست که بهش نیازی نیست. در ضمن چون تاریخ شمسی در دیتاگرید هست به جای Convert.ToDateTime از متد تبدیل شمسی به میلادی استفاده کنید.

booysusa
پنج شنبه 17 آبان 1397, 09:12 صبح
در ضمن چون تاریخ شمسی در دیتاگرید هست به جای Convert.ToDateTime از متد تبدیل شمسی به میلادی استفاده کنید.

کدش رو مینویسید لطفا

Mahmoud.Afrad
پنج شنبه 17 آبان 1397, 09:32 صبح
کدش رو مینویسید لطفا

پراپرتی DateOfBirth چون واسطه بین دیتاگرید و بخش ویرایش هست را مثل قبل از نوع رشته بگیرید.

booysusa
پنج شنبه 17 آبان 1397, 11:01 صبح
پراپرتی DateOfBirth چون واسطه بین دیتاگرید و بخش ویرایش هست را مثل قبل از نوع رشته بگیرید.

من این کدرو نوشتم
mskDateOfBirthV.Text = DateOfBirth.ToString();

ولی یک مشکل که هنگام ویرایش بهش بر میخورم و خیلی آزار دهندس این هست

در در دیتاگرید ماه و سال رو برعکس نمایش میده یعنی بجای اینکه بنویسه 1368/01/16 مینویسه 01/16/1368
http://s9.picofile.com/file/8342124200/datagrid.PNG


و در قسمت ویرایش در قسمت تاریخ تولد اینجوری میشه، که اصلا مفهومی نیست واقعا
http://s8.picofile.com/file/8342124218/virayesh.PNG

Mahmoud.Afrad
پنج شنبه 17 آبان 1397, 11:13 صبح
مگر زمانی که اطلاعات را از دیتابیس دریافت می کنید از متد MiladiBeShamsi برای تبدیل تاریخ استفاده نمی کنید؟

booysusa
پنج شنبه 17 آبان 1397, 11:31 صبح
مگر زمانی که اطلاعات را از دیتابیس دریافت می کنید از متد MiladiBeShamsi برای تبدیل تاریخ استفاده نمی کنید؟
این کد من است، دانلود

Mahmoud.Afrad
جمعه 18 آبان 1397, 16:41 عصر
خط 259 نوع DateOfBirth را string بگیرید.
خط 285 را از کامنت دربیارید به جاش خط 286 را کامنت کنید.


در متدهای سرچ هم باید تبدیل تاریخ میلادی به شمسی را انجام بدید.

booysusa
جمعه 18 آبان 1397, 18:46 عصر
خط 259 نوع DateOfBirth را string بگیرید.
خط 285 را از کامنت دربیارید به جاش خط 286 را کامنت کنید.


در متدهای سرچ هم باید تبدیل تاریخ میلادی به شمسی را انجام بدید.

من متوجه هستم و حرف های شما رو انجام دادم ولی نمیدونم چرا انجام نمیشه {واقعا از اینکه تایپیکم انقدر طول بکشه خوشم نمیاد ببخشید}
امکانش هست یک لطفی کنید و یک نگاهی به برنامه بندازید
راستی من نوع رو در دیتابیسم DateTime گذاشتم نه nvarchar
لینک دانلود برنامه من (http://s8.picofile.com/file/8342240292/Daftarche_Phone.zip.html)

Mahmoud.Afrad
شنبه 19 آبان 1397, 07:36 صبح
من متوجه هستم و حرف های شما رو انجام دادم ولی نمیدونم چرا انجام نمیشه {واقعا از اینکه تایپیکم انقدر طول بکشه خوشم نمیاد ببخشید}
امکانش هست یک لطفی کنید و یک نگاهی به برنامه بندازید
راستی من نوع رو در دیتابیسم DateTime گذاشتم نه nvarchar
لینک دانلود برنامه من (http://s8.picofile.com/file/8342240292/Daftarche_Phone.zip.html)

تست کنید
http://s8.picofile.com/file/8342276234/Daftarche_Phone.rar.html

booysusa
شنبه 19 آبان 1397, 12:59 عصر
تست کنید


واقعا ممنون، خیلی وقت گذاشتی
فقط برای سوال آخر
چطوری فالی دیتابیس رو کنار برنامه قرار دادی، اینو خیلی مشکل دارم
رو پروژه راست کلیک کردم ادد زدم ولی کمی پیچیدس

Mahmoud.Afrad
شنبه 19 آبان 1397, 13:23 عصر
واقعا ممنون، خیلی وقت گذاشتی
فقط برای سوال آخر
چطوری فالی دیتابیس رو کنار برنامه قرار دادی، اینو خیلی مشکل دارم
رو پروژه راست کلیک کردم ادد زدم ولی کمی پیچیدس

چون فایل از قبل موجود بود از منوی add گزینه existing item میتونی وارد کنی.

همونطور که قبلا هم گفتم توصیه میکنم:
«در صورت امکان دیتابیس را به sqlite تبدیل کنید که برنامه قابلیت حمل بهتری داشته باشد. از لایه بندی و شئ گرایی استفاده کنید. دفترچه تلفن یک تمرین خوب برای یادگیری این دو موضوع هست.»

booysusa
یک شنبه 20 آبان 1397, 09:07 صبح
چون فایل از قبل موجود بود از منوی add گزینه existing item میتونی وارد کنی.

همونطور که قبلا هم گفتم توصیه میکنم:
«در صورت امکان دیتابیس را به sqlite تبدیل کنید که برنامه قابلیت حمل بهتری داشته باشد. از لایه بندی و شئ گرایی استفاده کنید. دفترچه تلفن یک تمرین خوب برای یادگیری این دو موضوع هست.»

واقعا سپاسگزارم
انجام شد، بله برای تمرین دفترچه تلفن نوشتم، سعی میکنم از Sql Express استفاده کنم زین پس