Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从MySQL设置WinForm显示日期_C#_Mysql_Winforms - Fatal编程技术网

C# 从MySQL设置WinForm显示日期

C# 从MySQL设置WinForm显示日期,c#,mysql,winforms,C#,Mysql,Winforms,C/MySQL-设置WinForm访问日期MySQL 因此,我创建了一个MySQL数据库,我的表单可以访问并登录该数据库。我的目标是能够将MySQL数据库中的信息作为标签拉入表单中,我知道这很容易,对吧 例如: 对我来说,最困难的问题是如何存储,比如说订阅的开始/结束日期,并能在标签上告诉我订阅还剩多少天。所有这些都使用数据库的信息 是,该数据库仅用于测试目的。否,接近最终版本 创建了一个名为edata的表。 创建程序将使用的字段 账户状态/StartSub/EndSub 我的问题:我将如何获取

C/MySQL-设置WinForm访问日期MySQL

因此,我创建了一个MySQL数据库,我的表单可以访问并登录该数据库。我的目标是能够将MySQL数据库中的信息作为标签拉入表单中,我知道这很容易,对吧

例如:

对我来说,最困难的问题是如何存储,比如说订阅的开始/结束日期,并能在标签上告诉我订阅还剩多少天。所有这些都使用数据库的信息

是,该数据库仅用于测试目的。否,接近最终版本

创建了一个名为edata的表。 创建程序将使用的字段 账户状态/StartSub/EndSub
我的问题:我将如何获取输入的日期,并创建一个可以用于在“剩余天数”标签中显示的值?

如果您可以解析出这些值,它非常简单,例如:

string end_date_string = "2014-09-24";
string start_date_string = "2014-09-18";

DateTime end_date = DateTime.Parse(end_date_string);         // parse end date
DateTime start_date = DateTime.Parse(start_date_string);     // parse start date
TimeSpan dur = end_date.Subtract(start_date);                // total duration
TimeSpan timeleft = end_date.Subtract(DateTime.Now);         // how much time left until we hit the end_date

Label l;
l.Text = timeleft.Days.ToString();
// l.Text = timeLeft.Hours.ToString();
// l.Text = timeleft.Minutes.ToString();

我将创建如下表:

CREATE TABLE `test`.`New Table` (
  `ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `FirstName` VARCHAR(45),
  `LastName` VARCHAR(45),
  `Username` VARCHAR(45),
  `Password` VARCHAR(45),
  `Account` INTEGER UNSIGNED,
  `StartSub` DATETIME,
  `EndSub` DATETIME,
  PRIMARY KEY (`ID`)
)
ENGINE = InnoDB;
using (MySqlConnection conn = new MySqlConnection(constring))
{
    using (MySqlCommand cmd = new MySqlCommand())
    {
        cmd.Connection = conn;
        conn.Open();

        cmd.CommandText = "select * from edata where id = 1;";
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);

        conn.Close();

        DateTime dateStart = Convert.ToDateTime(dt.Rows[0]["StartSub"]);
        DateTime dateEnd = Convert.ToDateTime(dt.Rows[0]["EndSub"]);

        if (DateTime.Now >= dateStart && DateTime.Now <= dateEnd)
        {
            TimeSpan ts = dateEnd - DateTime.Now;
            label1.Text = "Active";
            label2.Text = ts.TotalDays + " day(s) left";
        }
        else
        {
            label1.Text = "Expired";
            label2.Text = "0 day left";
        }
    }
}
然后像这样查询:

CREATE TABLE `test`.`New Table` (
  `ID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  `FirstName` VARCHAR(45),
  `LastName` VARCHAR(45),
  `Username` VARCHAR(45),
  `Password` VARCHAR(45),
  `Account` INTEGER UNSIGNED,
  `StartSub` DATETIME,
  `EndSub` DATETIME,
  PRIMARY KEY (`ID`)
)
ENGINE = InnoDB;
using (MySqlConnection conn = new MySqlConnection(constring))
{
    using (MySqlCommand cmd = new MySqlCommand())
    {
        cmd.Connection = conn;
        conn.Open();

        cmd.CommandText = "select * from edata where id = 1;";
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);

        conn.Close();

        DateTime dateStart = Convert.ToDateTime(dt.Rows[0]["StartSub"]);
        DateTime dateEnd = Convert.ToDateTime(dt.Rows[0]["EndSub"]);

        if (DateTime.Now >= dateStart && DateTime.Now <= dateEnd)
        {
            TimeSpan ts = dateEnd - DateTime.Now;
            label1.Text = "Active";
            label2.Text = ts.TotalDays + " day(s) left";
        }
        else
        {
            label1.Text = "Expired";
            label2.Text = "0 day left";
        }
    }
}

谢谢你!工作得很好。我对小数点做了一个小的调整。label4.Text=ts.TotalDays.ToString.+还剩几天;