Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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# 从字符串转换日期和/或时间时出错_C#_Sql Server 2008_Type Conversion - Fatal编程技术网

C# 从字符串转换日期和/或时间时出错

C# 从字符串转换日期和/或时间时出错,c#,sql-server-2008,type-conversion,C#,Sql Server 2008,Type Conversion,当我尝试运行此代码时,收到以下错误: conversion failed when converting date and/or time from character string 我在这一行得到了错误: g_muallak_tarihi = DateTime.Parse(row_muallakt["Muallak_tarihi"].ToString()); 要存储日期和时间或仅日期的值,我使用DateTime数据类型。我不知道该怎么办。你有什么想法吗 这是我的密码: public voi

当我尝试运行此代码时,收到以下错误:

conversion failed when converting date and/or time from character string
我在这一行得到了错误:

g_muallak_tarihi = DateTime.Parse(row_muallakt["Muallak_tarihi"].ToString());
要存储日期和时间或仅日期的值,我使用DateTime数据类型。我不知道该怎么办。你有什么想法吗

这是我的密码:

public void cs_hmuallak()
{
    string cs_hmuallak = null;
    SqlConnection cnn;

    cs_hmuallak = @"Data Source= .\SQLEXPRESS; Initial Catalog=mydb;Integrated Security= True";

    cnn = new SqlConnection(cs_hmuallak);

    try
    {
        cnn.Open();

        {
                SqlDataAdapter da_muallakt = new SqlDataAdapter("SELECT M.Muallak_tutari FROM Muallak M INNER JOIN Hasar H ON M.Hasar_no= H.Hasar_no INNER JOIN Police P ON p.Police_no=h.Police_no where p.Acenta_kodu='"+cbx_acenta.Text+"' and p.Brans_kodu='"+cbx_brans.Text+"' and  M.muallak_tarihi<=(Select M.muallak_tarihi from muallak M where M.muallak_tarihi=(select max(muallak_tarihi) from muallak where muallak_tarihi<=@parameter)) and M.Muallak_tarihi=(SELECT max(M.Muallak_tarihi) FROM Muallak M INNER JOIN Hasar H ON M.Hasar_no= H.Hasar_no INNER JOIN Police P ON p.Police_no=h.Police_no where p.Acenta_kodu='"+cbx_acenta.Text+"' and p.Brans_kodu='"+cbx_brans.Text+"' and  M.muallak_tarihi<=(Select M.muallak_tarihi from muallak M where M.muallak_tarihi=(select max(muallak_tarihi) from muallak where muallak_tarihi<=@parameter)) ) ", cnn);

                da_muallakt.SelectCommand.Parameters.AddWithValue("@parameter",g_listetarihi.ToString("yyyy-mm-dd"));
                DataTable table_muallakt = new DataTable();
                da_muallakt.Fill(table_muallakt);
                foreach (DataRow row_muallakt in table_muallakt.Rows)
                {
                    if (row_muallakt["Muallak_tutari"] != DBNull.Value)
                    {
                        if (row_muallakt["Muallak_tarihi"] != DBNull.Value)
                        {
                            g_muallak_tarihi = DateTime.Parse(row_muallakt["Muallak_tarihi"].ToString());
                            g_muallak_tutari = int.Parse(row_muallakt["Muallak_tutari"].ToString());
                        }
                    }
                }                   
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
}       
public void cs_hmuallak()
{
字符串cs_hmuallak=null;
SqlConnection-cnn;
cs_hmuallak=@“数据源=。\SQLEXPRESS;初始目录=mydb;集成安全性=True”;
cnn=新的SqlConnection(cs_hmuallak);
尝试
{
cnn.Open();
{
SqlDataAdapter da_muallakt=新SqlDataAdapter(“在M.Hasar_no=H.Hasar_no internal JOIN Police P ON P.Police_no=H.Police_no其中P.Acenta_kodu=”“+cbx_Acenta.Text+”和P.Brans_kodu=”“+cbx_Brans.Text+”,以及M.Muallak_tarihi

使用string.Format

da_muallakt.SelectCommand.Parameters.AddWithValue("@parameter", string.Format("{0:yyyy-MM-dd}",g_listetarihi.ToString());

MSDN日期时间格式:

假设
Muallak_tarihi
被定义为
DateTime
列(该列应该是它所包含的),则不需要进行所有与字符串之间的转换工作

您可以直接在数据读取器中使用
GetDateTime
来获取数据,或者简单地强制转换值:

g_muallak_tarihi = row_muallakt["Muallak_tarihi"] as DateTime;
此外,您正在使用的参数(
@parameter
)也应该是一个
DATETIME
,并且直接传入,而不是使用
ToString

da_muallakt.SelectCommand.Parameters.AddWithValue("@parameter",g_listetarihi);

g_muallak_tarihi
的数据类型是什么?如何定义数据库中的列?如果它们定义为日期,请使用Convert.ToDateTime()而不是尝试解析
行muallakt[“muallak_tarihi”]的日期时间格式
value.@Estefany Velez-我在全局中定义为Datetime。我在SQL中定义为datedatabase@EstefanyVelez不,不,说真的,不,Oded的答案是唯一正确的方法(当然,假设列实际上定义为DateTime类型,当然应该是这样)