2011-12-07 14 views
0

私は、ユーザー定義のテーブル型(UDTT)をパラメータの1つとして使用するストアドプロシージャを使用しています。このストアドプロシージャをC#コードから呼び出す必要があります。Datatableのタイムスタンプ列を追加する

私はdbmlファイルとデータベース内の私のUDTTをシミュレートするクラスを作成しました。

今問題は、TIMESTAMPという名前の列がVersionで、UDTTストアドプロシージャに存在することです。

これは私のユーザー定義テーブル型の構造である:

CREATE TYPE dbo.sampletype as 
ID INT NULL, 
Name String NULL, 
Version TIMESTAMP NULL 

今、私はので、私はDataTableを作成し、byte[]ようなタイプで、列バージョン を追加したC#コードを通じてUDTTを渡す必要があります。値をNULLとして送信しています。

今私は(SqlExecuteReader、cmdparametersを使用して)古典的なADO.netを使用してストアドプロシージャを呼び出すときに、以下のエラーを取得イム..

Cannot insert value to timestamp column.

+2

私たちにあなたのC#コードを教えてください。 – albertjan

答えて

0

チェックhere SQL型とCLR型の間のマッピング。 TIMESTAMPDATETIME2に変更してください。

1

TIMESTAMPデータ型の値は、SQL Serverによって自動生成されます。それらを挿入することはできません。

関連する問題