超出SqlDataReader的范围错误=newSqlCommand("SELECTRTRIM(LTRIM(PART_NO))ASPART_NO,recordASCUSTOMER_NOFROM[RMAData].[dbo].[IMPORTING_ORDER_EDI]WHEREsessionID='"+Session.SessionID+"'",connection);SqlDataReaderreader=select.ExecuteReader();if(reader.HasRows){while(reader.Read()){lblWebMasterMessage.Text+="record"+reader["record"].ToString()+"";...如果我添加lblWebMasterMessage。文本更改为以下内容并且工作正常...lblWebMasterMessage.Text+="record"+reader["PART_NO"].ToString()+"";SQLServer表中record和PART_NO的区别在于'record'是主键和int,PART_NO是varchar(100)。问题是,我需要“记录”来识别记录以便以后更新它……我真的不明白为什么它可以返回一个字段而不是另一个字段?那是因为你没有名为“record”的字段,你将它别名为“CUSTOMER_NO”,所以将代码更改为:lblWebMasterMessage.Text+="record"+reader["CUSTOMER_NO"].ToString()+"";即也可以使用索引代替名称来读取第二列:lblWebMasterMessage.Text+="record"+reader[1]+"";文本中意外执行了两个select语句。我有两个单独的输出结果,第一个输出不包含我正在阅读的列名,因此出现错误。以上就是C#学习教程:超出SqlDataReader范围,错误分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
