6

階層化されたアプリケーションがあります。データレイヤーは、テーブルアダプターを含むデータセットを使用してデータベースを呼び出します。データベース テーブルには、タイプUniqueIdentifierの ID というフィールドがあります。次に、次のクエリを作成します。

select * from tbl where ID=@ID

データセット デザイナーで結果をプレビューしようとすると、「パラメーター値を文字列から GUID に変換できませんでした」というエラーが表示されます。

渡された値を一重引用符で囲んでみましたが、うまくいきませんでした。

どこが間違っているのですか?

4

1 に答える 1

11

列 ID はデータベースの Guid 型ですが、パラメーターはstring.

パラメータを次のように変換できますSqlGuid

command.Parameters.Add("@GuidParameter", SqlDbType.UniqueIdentifier).Value = new System.Data.SqlTypes.SqlGuid(YourGuid); //The value of @ID

リンク: https://msdn.microsoft.com/library/system.data.sqltypes.sqlguid.aspx?f=255&MSPPError=-2147217396

于 2012-10-10T10:02:44.403 に答える