問題タブ [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.
c# - EF6 Code First: DateTime2 の修正
多くのDateTimeフィールドを含むコードファーストのEF6データベースがあります。これらは、テーブルの作成時に localdb データベースの datetime フィールドにマップされました。
最近、これらのフィールドのいくつかに格納されている値にタイム ゾーンの調整を導入したところ、「datetime2 から datetime への変換」という状況に遭遇しました。
私がやりたいことは、コードでテーブル定義を微調整し、追加移行/データベース更新の手順を実行して、作業を続行することです。
しかし、この状況に対してオンラインで見たすべての回答は、規則を作成し、データ コンテキストの OnModelCreating() メソッド内で流暢な API を使用することを求めています。
残念ながら、流暢な API を使用した経験はありません。Add-migration/update-database プロセス中に OnModelCreating が実行されるかどうかは、私には明らかではありません。
この種の移行は、DateTime プロパティを何らかの属性で装飾することで実行できますか?
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 を使用させるにはどうすればよいですか?
ありがとう
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 では問題ありません。
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 桁が完全にランダムになると思います。
これは正しいステートメントですか、それとも真に正確な/ランダムな時間を取得する正しい方法はありますか?
c# - datetime2 をデータベースに挿入する
とdatetime2
のデータ型として使用しています。以前は、このコードでデータベースに追加できました。checkIn
checkOut
しかし、今では機能せず、このエラーが発生しています。
「文字列から日時を変換する際に変換に失敗しました」。
エラーは「PM」と「AM」を含むチェックイン値が原因だと思いますが、以前はこれをデータベースに追加できたので奇妙です。
これを修正する方法を知っている人はいますか?
c# - wcf uriテンプレートでdatetime2(0)を渡す方法は?
İ 日時を含むいくつかの値を渡したい。この方法を試していますが、「データ型 nvarchar を datetime2 に変換中にエラーが発生しました」というエラーが表示されます。
これが私の機能です。
これがインターフェースです。
この問題を解決するにはどうすればよいですか。