問題タブ [datetime2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
301 参照

c# - EF6 Code First: DateTime2 の修正

多くのDateTimeフィールドを含むコードファーストのEF6データベースがあります。これらは、テーブルの作成時に localdb データベースの datetime フィールドにマップされました。

最近、これらのフィールドのいくつかに格納されている値にタイム ゾーンの調整を導入したところ、「datetime2 から datetime への変換」という状況に遭遇しました。

私がやりたいことは、コードでテーブル定義を微調整し、追加移行/データベース更新の手順を実行して、作業を続行することです。

しかし、この状況に対してオンラインで見たすべての回答は、規則を作成し、データ コンテキストの OnModelCreating() メソッド内で流暢な API を使用することを求めています。

残念ながら、流暢な API を使用した経験はありません。Add-migration/update-database プロセス中に OnModelCreating が実行されるかどうかは、私には明らかではありません。

この種の移行は、DateTime プロパティを何らかの属性で装飾することで実行できますか?

0 投票する
3 に答える
1846 参照

sql-server - Entity Framework Database First で DateTime を強制する

最初に EF データベースを使用してデータベースに接続しています。したがって、私のモデルは自動生成されます。

レコードを更新すると、DateTimes が SQL 型 DateTime2 として書き込まれます。運用サーバーは SQL Server 2005 (コメントはお控えください) であるため、DateTime2 がサポートされていないため、更新は失敗します。

http://www.asp.net/mvc/overview/getting-started/database-first-development/enhancing-data-validationに従ってモデルのメタデータ クラスを作成し、メンバーを [Column( DbType = "datetime")] ですが、指示に従っていないか、間違った方向に進んでいます。

データベースへの書き込み時に最初に EF データベースに DateTime を使用させるにはどうすればよいですか?

ありがとう

0 投票する
1 に答える
2529 参照

database - SQLBindParameterを使用してdatetime2(SQL_C_TYPE_TIMESTAMP)をバインドするにはどうすればよいですか?

SQL_TYPE_TIMESTAMP以下のように、データ型にSQLBindParameter を使用して datetime2 パラメータをバインドしようとしています

SQLBindParameter(hStmt, 7, SQL_PARAM_INPUT, SQL_C_TYPE_TIMESTAMP, SQL_TYPE_TIMESTAMP, 0, 0, &datetime2, 0, NULL);

これも試しました:

rc = SQLBindParameter(hStmt, 8, SQL_PARAM_INPUT, SQL_C_TYPE_TIMESTAMP, SQL_TYPE_TIMESTAMP, SQL_TIMESTAMP_LEN + 1, 7, &rec.datetime2, 0, NULL);

rc は 0 です

クエリ (INSERT) SQLExecDirect(hStmt, const_cast<wchar_t*>(query.c_str()), SQL_NTS); を実行すると、日時フィールドのオーバーフローを示す 22008 sqlstate エラーが発生します。

このデータ型のサンプル コードを探しましたが、動作する例が見つかりませんでした。この型の解決策を持っている忍者はいますか? 精度 7 の SQL_TYPE_TIME では問題ありません。

0 投票する
1 に答える
515 参照

sql-server - SQL Server の SYSDATETIME データ型の精度

SQL Server 2008 のストアド プロシージャで SYSDATETIME を使用していくつかのテストを行いました。IDENTITY フィールドを持つ datetime2(7) を持つテーブルをセットアップしました。

このデータ型の精度と精度の違いは理解していますが、この例から複数のレコードを挿入すると、通常とは異なる結果になることに気付きました。

挿入ステートメント 100,000 を使用してループし、SYSDATETIME が期待どおりに正しく機能しているかどうかを判断しました。ただし、GETDATE に比べてそれほど正確ではないようです。

私の観察では、小数点以下 4 桁は最初の 3 桁とは無関係に増加しているように見えます。これは、実行された 100,000 回の挿入の傾向です。

この小さなサンプルの抜粋で最後の 2 秒の 10 進数に気付くと、.4212457 から .4212458 にジャンプします。

精度は 7 桁ですが、私の見解では精度は 3 桁しかありません。最後の 4 桁は、時間に関係なく増分方式で実行されます。データベースに挿入するたびに、時間値の最後の 4 桁が完全にランダムになると思います。

これは正しいステートメントですか、それとも真に正確な/ランダムな時間を取得する正しい方法はありますか?

0 投票する
1 に答える
1706 参照

c# - datetime2 をデータベースに挿入する

datetime2のデータ型として使用しています。以前は、このコードでデータベースに追加できました。checkIncheckOut

しかし、今では機能せず、このエラーが発生しています。

「文字列から日時を変換する際に変換に失敗しました」。

エラーは「PM」と「AM」を含むチェックイン値が原因だと思いますが、以前はこれをデータベースに追加できたので奇妙です。

これを修正する方法を知っている人はいますか?

0 投票する
1 に答える
219 参照

c# - wcf uriテンプレートでdatetime2(0)を渡す方法は?

İ 日時を含むいくつかの値を渡したい。この方法を試していますが、「データ型 nvarchar を datetime2 に変換中にエラーが発生しました」というエラーが表示されます。

これが私の機能です。

これがインターフェースです。

この問題を解決するにはどうすればよいですか。