如何从sql datetime获取值到c# datetimepicker

本文关键字:datetimepicker 获取 datetime sql | 更新日期: 2023-09-27 18:03:47

我一直在寻找正确的语法来从我的SQL Server获得datetime的值,并在c#的日期时间选择器上显示。我使用Visual Studio 2008和SQL Server 2005。

下面是我的代码,它使用datagridview和一个双击事件:

private void dg_DoubleClick(object sender, EventArgs e)
{
        button2.Visible = true;
        button5.Visible = true;
        try
        {
            DataTable dt = new DataTable();
            SqlDataAdapter dad = new SqlDataAdapter("SELECT * FROM tblSchools WHERE Number ="+
                Convert.ToInt16(dg.SelectedRows[0].Cells[0].Value.ToString()) + "", conn);
               dad.Fill(dt);
               textBox1.Text = dt.Rows[0][1].ToString();
               comboBox1.Text = dt.Rows[0][2].ToString();
               textBox2.Text = dt.Rows[0][3].ToString();
               textBox4.Text = dt.Rows[0][4].ToString();
               textBox5.Text = dt.Rows[0][5].ToString();
               textBox6.Text = dt.Rows[0][6].ToString();
               dateTimePicker1.Value.Date = dt.Rows[0][7];
               textBox8.Text = dt.Rows[0][8].ToString();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
}

错误来自这一行:

dateTimePicker1.Text = dt.Rows[0][7];

上面写着

不能隐式地将类型"对象"转换为"字符串"。存在显式转换(您是否缺少强制类型转换?)

谁来教我正确的语法。谢谢:)

如何从sql datetime获取值到c# datetimepicker

这样做,

dateTimePicker1.Text = dt.Rows[0][7].ToString();

 dateTimePicker1.Value = Convert.ToDateTime(dt.Rows[0][7]);
 dateTimePicker1.CustomFormat = "dd-MMM-yyyy";
 dateTimePicker1.Format =DateTimePickerFormat.Custom;

我认为如果你去

dateTimePicker1.Value = (datetime)dt.Rows[0][7];

应该工作

希望有帮助,