-1

この問題を理解し、おそらく解決するには、あなたの助けが必要です。

私は DataReader を持っており、関数 GetDateTime を使用して Date 列を読み取ると、最小値を取得します。GetDate 関数が表示されません。両方のデータ型を同じにするために、列のデータ型を Datetime に変更しようとしましたが、結果は同じです。

これはテーブルの定義です:

CREATE TABLE [dbo].[Solped](
    [docNumber] [int] NOT NULL,
    [docType] [nvarchar](255) NOT NULL,
    [createDate] [date] NULL,
    [hora] [time](2) NULL,
    ....

これは私がデータベースを読んだ場所です:

string sql = "SELECT * FROM Solped order by docNumber DESC";
            System.Console.WriteLine(sql);
            SqlCommand cmd = new SqlCommand(sql, con);
            SqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                solped = new Solped();

                solped.docNumber = reader.GetInt32(0);
                solped.docType = reader.GetString(1);

                DateTime dt = reader.GetDateTime(2);
                solped.fecha = dt;

これは、デバッグ時に表示される値です。

dt = {1/1/0001 12:00:00 AM}

そして、これはプログラムで提示された値です:

Date(1345089600000)

問題を解決するためにどの機能またはアクションを実行すればよいかわからないことに、私は完全に混乱しています。お役に立てれば幸いです。ありがとう!

4

1 に答える 1

0

テーブルの2つの異なる列に日付と時刻があるように見えます。これを試してください

SELECT DocNumber, DocType, 
CAST(CAST(createDate as varchar(10)) + ' ' + CAST(hora as varchar(12)) as datetime) as fullDate
FROM Solped
于 2012-08-17T13:59:01.693 に答える