.cshtml ページの小さな関数から xml を取得しようとしています。エラーが発生します。ただし、これはコンソール/フォーム環境では問題なく動作します。
3 つのパラメーターと 1 つの例外が必要です。
myDll.GetXML(year, username, uniqueidentifier, out ex);
このページを実行すると、「文字列から一意識別子への変換中に変換に失敗しました」というエラーが表示されます。</p>
または…のスタック</p>
System.Data.SqlClient.SqlException (0x80131904): Conversion failed when converting from a character string to uniqueidentifier.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
at System.CapTool.Server.DAL.DAL.GetCapabilitiesXML(Int32 fiscalYear, String majComId, String userName, Exception& exception)
GetXML 関数内では、パラメータをストア プロシージャに適用するだけです。ストア プロシージャはオブジェクトを返します。そこから、.cshtml ですべての楽しいことを行うことができます。
SQL Management Studio 内から手動で値を入力すると、実際に正しい結果が得られます。ここでも、ウィンドウ フォーム アプリケーションを作成すると、正しい結果が得られます。
.cshtml または .aspx ページになると、変換に失敗しました。
ストア プロシージャの uniqueidentifier パラメータを既にキャストしようとしましたが、それでもエラーが発生しました。
私は思う…それは一意の識別子と関係があると思います…しかし、私は何をすべきかわかりません…</p>