با درود
من یه برنامه نوشتم حالا میخوام بجز نام و نام خانوادگی، تاریخ تولد هم ذخیره کنه و نمایش بده
این فایل برنامه من هست
لطفا دانلود و بررسی کنید
لینک دانلود
این تیکه کدهایی هست که من برای برنامه نوشتم لطفا راهنمایی کنید چطوری باید تاریخ را درج کنم که مثلا بصورت 1397/08/12 در بیاید
لازم به ذکر هست که داده های سطر تاریخ تولد رو Datetime تنظیم کردم
من نوشتن کد ذخیره تاریخ را بلد نیستم، معمولا با Nvarchar وارد می کردم که کار زیبایی نیست و همچنین نمیخوام مدام اسلش ها / را بصورت دستی وارد کنم برای همین میخواهم با داده های Datetime وارد دیتابیس کنم
البته من منظورم این هست که در TextBox بصورت دستی هم بتونم تاریخ وارد کنم کافی هست ولی این هم یک DLL تقویم فارسی بسیار زیبا هست که اگر بشود در برنامه استفاده کردم عالی هست
لینک دانلودش هم این هست
//============ برای افزودن عضو من از این کدها استفاده کردم
public void ReadFromDatabase()
{
SqlCeConnection myConnection = new SqlCeConnection() ;
myConnection.ConnectionString = @"Data Source=K:\Programs\Daftarche\DaftarcheDB.sdf";
//insert into TableName(Coulmns) Values('','','' )
SqlCeCommand mycommand = new SqlCeCommand() ;
mycommand.Connection = myConnection;
mycommand.CommandText = "INSERT into [User] (FirstName,LastName,Dateofbirth) Values(@FirstName,@LastName,@SerialBirthCertificate)";
mycommand.Parameters.AddWithValue("@FirstName", txtFirstName.Text) ;
mycommand.Parameters.AddWithValue("@LastName", txtLastName.Text) ;
mycommand.Parameters.AddWithValue("@Dateofbirth", txtDateofbirth.Text) ;
myConnection.Open() ;
mycommand.ExecuteNonQueryAsync() ;
myConnection.Close() ;
MessageBox.Show("عملیات با موفقیت انجام شد" ) ;
ShowFromDatabase() ;
}
//============ get; set;
private void btnEdit_Click(object sender, EventArgs e)
{
tabControl1.SelectedTab = tabControl1.TabPages[2];
}
public string FirstName { get; set; }
public string LastName { get; set; }
public string Dateofbirth { get; set; }
public int ID { get; set; }
//============
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//وقتی کاربری روی هر یک از ردیف ها کلیک میکنه این رویداد اجرا میشه
//و ما اطلاعات اون ردیف رو تو متغییر ها میریزیم.
if (e.RowIndex != -1)
{
FirstName = "";
LastName = "";
Dateofbirth = ""; //خطا مشاهده شده است در این تیکه کد
FirstName = dataGridView1.Rows[e.RowIndex].Cells["ClmnFirstName"].Value.ToString() ;
LastName = dataGridView1.Rows[e.RowIndex].Cells["ClmnLastName"].Value.ToString() ;
Dateofbirth = dataGridView1.Rows[e.RowIndex].Cells["ClmnDateofbirth"].Value.ToString() ;
ID = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["ClmnID"].Value) ;
}
}
private void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
//وقتی شما روی ویرایش کلیک میکنید و سلکت تب رو تغییر میدید این رویداد اتفاق می افته
//و ما بایه شرط بررسی میکنیم که تب ویرایشه یا نه. اگه تب ویرایش بود اون اطلاعات متغییر هارو درون اون تکست ها نمایش میدید
if (e.TabPageIndex == 2)
{
txtFirstNameV.Text = FirstName;
txtLastNameV.Text = LastName;
txtDateofbirthV.Text = Dateofbirth ;
}
}
//============ ویرایش کاربر
private void btnSaveVirayesh_Click(object sender, EventArgs e)
{
var result = MessageBox.Show("آیا مایل به ویرایش هستید؟", "اطلاع", MessageBoxButtons.YesNo) ;
if (result == DialogResult.Yes)
{
try
{
SqlCeConnection myConnection = new SqlCeConnection() ;
myConnection.ConnectionString = @"Data Source=K:\Programs\Daftarche\DaftarcheDB.sdf";
//آپدیت کردن کاربر
SqlCeCommand mycommand = new SqlCeCommand() ;
mycommand.Connection = myConnection;
mycommand.CommandText = "update [User] set (FirstName,LastName,Dateofbirth) Values(@FirstName,@LastName,@Dateofbirth)";
mycommand.Parameters.AddWithValue("@FirstName", txtFirstName.Text) ;
mycommand.Parameters.AddWithValue("@LastName", txtLastName.Text) ;
mycommand.Parameters.AddWithValue("@Dateofbirth", txtDateofbirth.Text) ;
myConnection.Open() ;
mycommand.ExecuteNonQuery() ;
myConnection.Close() ;
MessageBox.Show("عملیات با موفقیت انجام شد" ) ;
ShowFromDatabase() ;
}
catch (Exception ex)
{//اگر خطایی رخ داد این قسمت میگه دلیل خطا چی بوده
MessageBox.Show(ex.Message) ;
}
}
}