的生日是我的数据库中的字符串,它是此格式年/月/日C#convering生日日期
我想根据计算的实时岁。例如,如果该人出生于(2015/5/1),他应该年龄为1岁,并且根据日期可以是1个月,1年,1天,7年等。
我的推杆此标记/ *,以显示我想要的年龄
这儿,这是我的代码转换,但不会有很大的帮助
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
using System.Data.Odbc;
using System.Data.OleDb;
public partial class Reg : Page
{
protected void GO_Click(object sender, EventArgs e)
{
string myConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb;Persist Security Info=True";
OleDbConnection myConnection;
OleDbCommand cmd;
try
{
// Open OleDb Connection
myConnection = new OleDbConnection();
myConnection.ConnectionString = myConnectionString;
myConnection.Open();
// Execute Queries
cmd = myConnection.CreateCommand();
//---------------------------
int d = Convert.ToInt32(T7.Text);
int m = Convert.ToInt32(T6.Text);
int y = Convert.ToInt32(T5.Text);
string D = Convert.ToString(d);
string M = Convert.ToString(m);
string Y = Convert.ToString(y);
string n = T1.Text ,CID=T9.Text,FID=T8.Text;
string l = T2.Text;
string v = T4.Text,type= D1.SelectedItem.ToString();
string age = Y + "/" + M + "/" + D;
//---------------------------
cmd.CommandText = "SELECT count(*) FROM Visitor where CID ='" +CID + "' and FID ='" + FID + "'";
int temp ;
temp = Convert.ToInt32(cmd.ExecuteScalar().ToString());
Response.Write(temp);
if (temp == 1)
{
//getting the kid age
string kidAge= cmd.CommandText = "SELECT age FROME Visitor WHERE CID ='" + CID + "' and FID='" + FID + "' ";
// here my problem trying to conver kidAge to his real age maybe it 10year or something
/* DateTime today = DateTime.Today;
int Age = today.Year - kidAge.Year;
if (bday > today.AddYears(-age))
age--;
cmd.ExecuteNonQuery();
*/
// get the right vassile for kid depending in age it may be for 1 year ..etc
string Vassl = cmd.CommandText = "SELECT * FROM [Activating inoculation] where IID='"+ kidAge + "'";
cmd.ExecuteNonQuery();
// get nearst date for vassile
string AppDate = cmd.CommandText = "SELECT * FROM VassileAppointments where IID";
//updating
cmd.CommandText = "UPDATE Visitor SET Vphone ='" + v + "' where CID ='" + CID + "' and FID='" + FID + "' ";
cmd.ExecuteNonQuery();
// appointment
DateTime ReqDate = DateTime.Today;
cmd.CommandText = "INSERT INTO [Visitor Appointment] Type ='" + type + "', ReqDate ='"+ReqDate+"' ,AppointmentDate='" + AppDate + "' VID='" + CID + "'";
cmd.ExecuteNonQuery();
Response.Write(" تم تسجيل الموعد");
}
else
{
//works cmd INSERT cmd.CommandText = "INSERT INTO Visitor (FName,LName,age,Vphone) VALUES ('" + n + "','" + l + "','" + age + "','" + v + "')";
cmd.CommandText = "INSERT INTO Visitor (FName,LName,age,Vphone) VALUES ('" + n + "','" + l + "','" + age + "','" + v + "')";
cmd.ExecuteNonQuery();
Response.Write("تم تسجيل الموعد والبيانات");
}
}
catch (Exception ex)
{
Response.Write("OLEDB Connection FAILED: " + ex.Message);
}
}
}
使用参数。参见网页:https://msdn.microsoft.com/en-us/library/yy6y35y8(v=vs.110).aspx – jdweng
这个问题,正如你指定的那样,并不像看起来那么微不足道。你如何定义你的年份,月份等?作为日历年/月?如果是这样,确定一个人多少年和几个月(以日历年为单位)并不是一项简单的任务:你需要考虑闰年,一个月中的日子等等:这也可能因使用的文化而异和/或日历。所以你真的需要非常清楚地指出这个问题:你想要的结果是什么?做一个样本输入和输出 – Jcl