を使用していてSqlDataReader
、列を読み取ろうとするとこの例外が発生します...
System.IndexOutOfRangeException:レコード
これがコードです...
SqlCommand select = new SqlCommand("SELECT RTRIM(LTRIM(PART_NO)) AS PART_NO, record AS CUSTOMER_NO FROM [RMAData].[dbo].[IMPORTING_ORDER_EDI] WHERE sessionID = '" + Session.SessionID + "'", connection);
SqlDataReader reader = select.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
lblWebMasterMessage.Text += "record " + reader["record"].ToString() + "<br />";
...
次のように変更するlblWebMasterMessage.Text
と、問題なく動作します...
lblWebMasterMessage.Text += "record " + reader["PART_NO"].ToString() + "<br />";
PART_NO
レコードとSQLServerテーブルの違いは、「レコード」が主キーでありint
、 「」がでPART_NO
あるということvarchar(100)
です。
問題は、後で更新するためにレコードを識別するために「レコード」が必要なことです...
なぜ一方のフィールドを返し、もう一方のフィールドを返さないのか、本当にわかりません。