取不出值,折磨三个小时了,求教

问题描述

.cs:publicpartialclassBookPage:System.Web.UI.Page{MongoServer_service1;MongoDatabase_database1;MongoClient_client1;publicList<BOOK>bookList;protectedvoidPage_Load(objectsender,EventArgse){stringconn="mongodb://127.0.0.1:27017";_client1=newMongoClient(conn);_service1=_client1.GetServer();_database1=_service1.GetDatabase("myaspweb");MongoCollection<BOOK>_books=_database1.GetCollection<BOOK>("book");varquery=Query<BOOK>.GTE(x=>x.id,0);varresult=_books.FindAs<BOOK>(query);bookList=result.ToList<BOOK>();Response.Write("<script>alert('"+bookList[1].name+"')</script>");}}publicclassBOOK{//[BsonId]publicintid{get;set;}publicstringname{get;set;}publicstringmessage{get;set;}publicstringstartTime{get;set;}publicstringendTime{get;set;}publicintifOut{get;set;}publicstringprice{get;set;}publicstringpicture{get;set;}}数据库里面有值,另一个表的插入操作可以

解决方案

解决方案二:

bookList[1]为啥是从索引一开始?不异常?
解决方案三:

解决方案四:

断点调试啊出了问题不要靠猜断点跟,看每个变量的值到底是多少,数组里到底有多少个元素,都是什么
解决方案五:

取出的数据应该有十几条,1就是随便取一个看看,不太会调试-,-
解决方案六:

引用4楼qq_27801561的回复:

取出的数据应该有十几条,1就是随便取一个看看,不太会调试-,-

报什么错误没?如果没报错,又不会断点,就Response.Write把每个变量及方法返回的结果输出看看是否有问题。提醒一点,程序员必须学会用断点,因为这个非常重要也非常有用!
解决方案七:

引用5楼yue547283947的回复:

Quote: 引用4楼qq_27801561的回复:
取出的数据应该有十几条,1就是随便取一个看看,不太会调试-,-

报什么错误没?如果没报错,又不会断点,就Response.Write把每个变量及方法返回的结果输出看看是否有问题。提醒一点,程序员必须学会用断点,因为这个非常重要也非常有用!

报错就是:索引超出范围。必须为非负值并小于集合大小。应该就是没有取到值,数据库连接是对的,另一个表的插入操作可以,代码是老师给的,就是取不出来值........
解决方案八:

引用6楼qq_27801561的回复:

Quote: 引用5楼yue547283947的回复:
Quote: 引用4楼qq_27801561的回复:
取出的数据应该有十几条,1就是随便取一个看看,不太会调试-,-

报什么错误没?如果没报错,又不会断点,就Response.Write把每个变量及方法返回的结果输出看看是否有问题。提醒一点,程序员必须学会用断点,因为这个非常重要也非常有用!

报错就是:索引超出范围。必须为非负值并小于集合大小。应该就是没有取到值,数据库连接是对的,另一个表的插入操作可以,代码是老师给的,就是取不出来值........

光看你这个代码是看不出问题的。又控制不了你的电脑。你可以问你的老师,及同学。
解决方案九:

引用6楼qq_27801561的回复:

Quote: 引用5楼yue547283947的回复:
Quote: 引用4楼qq_27801561的回复:
取出的数据应该有十几条,1就是随便取一个看看,不太会调试-,-

报什么错误没?如果没报错,又不会断点,就Response.Write把每个变量及方法返回的结果输出看看是否有问题。提醒一点,程序员必须学会用断点,因为这个非常重要也非常有用!

报错就是:索引超出范围。必须为非负值并小于集合大小。应该就是没有取到值,数据库连接是对的,另一个表的插入操作可以,代码是老师给的,就是取不出来值........

代码是老师给的,数据库是谁建的?看看数据库里到底有没有这张表
解决方案十:

断点调试,到bookList=result.ToList<BOOK>();这里时看下LIST里面的数据
解决方案十一:

折磨3天都正常。。。。。。。。。。。。。。。。。
解决方案十二:

第三方接口,折磨3个星期都不多
解决方案十三:

装个反编译,配置到vs里直接跟进去
解决方案十四:

引用6楼qq_27801561的回复:

Quote: 引用5楼yue547283947的回复:
Quote: 引用4楼qq_27801561的回复:
取出的数据应该有十几条,1就是随便取一个看看,不太会调试-,-

报什么错误没?如果没报错,又不会断点,就Response.Write把每个变量及方法返回的结果输出看看是否有问题。提醒一点,程序员必须学会用断点,因为这个非常重要也非常有用!

报错就是:索引超出范围。必须为非负值并小于集合大小。应该就是没有取到值,数据库连接是对的,另一个表的插入操作可以,代码是老师给的,就是取不出来值........

索引超出范围,一般是访问数组、列表时,索引值不在0-【数组/列表个数-1】之间嘛,调试呗。
解决方案十五:

短点,慢慢看,就好了
其他方案:

varquery=Query<BOOK>.GTE(x=>x.id,0);1.确认数据表中有id==0的数据。2.如果id是主键,就只会返回一条数据,bookList[1]显然会索引超出范围。3.养成设置trycatch的习惯。这样易于查找错误到底发生在哪条代码上。
解决方案:对不起,没注意GTE,上面回复的第二条不对。不过还是建议查看下数据库的值。是否有id字段,记录的id字段是否有值,是否是整数。mongodb的记录是没有约束的,可以随意插入。

时间: 2024-08-18 10:54:44

取不出值,折磨三个小时了,求教的相关文章

.net-SQL server存储过程取不出值

问题描述 SQL server存储过程取不出值 ALTER Proc [dbo].[sp_pages] ( @Sql varchar(max) , @Order varchar(4000) , @CurrentPage int , @PageSize int, @TotalCount int output ) As /*Andy 2012-2-28 */ Declare @Exec_sql nvarchar(max) Declare @Exec_sql2 nvarchar(max) Set @E

ios-为什么我的setting.bundle取不出值

问题描述 为什么我的setting.bundle取不出值 NSUserDefaults *d = [NSUserDefaults standardUserDefaults]; NSLog(@"%@",[d stringForKey:@"IP"]);

foreach-forEach问题,items中有值,但下面取不出

问题描述 forEach问题,items中有值,但下面取不出 jsp代码如下 ${info} 医生姓名 科室 预约时间段 预约费用 是否已被预约 点击预约 ${a.name} ${a.keshi} ${a.sjd} 10元 否 /c:if 是 /c:if /c:forEach 运行后的网页代码如下图 其中info的所有值也已经打印了,求解问题出在哪里http://ask.csdn.net/# 解决方案 补发一张jsp的代码图 相关文章 ios-为什么我的setting.bundle取不出值 cl

javascript-调用的js 为何取不到值?

问题描述 调用的js 为何取不到值? 代码:111.js document.write("<script language='javascript' src='http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=222.5.142.25'></script>"); document.write("<script>var gj=remote_ip_info.c

.NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法_实用技巧

当TextBox设置了ReadOnly="true" 后,要是在前台为控件添加了值,后台是取不到的,值为"空" 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内容,这时就比较尴尬了. 刚开始是换成Html 里的 <input type="text" readonly="readonly" > ,不过后来发现这个工作量是很大的, 所以网上搜了下,没找出Text

at t汇编-at&amp;amp;amp;t汇编中的fsts取不出st0中的值的问题

问题描述 at&t汇编中的fsts取不出st0中的值的问题 代码文件mydiv.s:.section .datavalue:.float 40.04by:.float 20.02.section .bss.lcomm result, 4.section .text.global _start_start:nopflds valuefsts resultmovl $1, %eaxmovl $0, %ebxint $0x80 编译成可执行文件:as -o mydiv.o -gstabs mydiv.

extjs 的gridPanel通过JsonStore取不到值

问题描述 这是显示部分 var store=new Ext.data.JsonStore({ proxy: new Ext.data.HttpProxy({ url: 'getUserData.jsp' }), //url:'http://design/getUserData.jsp', reader: new Ext.data.JsonReader( {fields:['username','usergroup']} ) /* fields:[ {name:'username'}, {name

url-一个php文件向另一个php文件传变量,$_POST取不到值

问题描述 一个php文件向另一个php文件传变量,$_POST取不到值 index.php里: var request = new XMLHttpRequest(); request.open("POST","test.php"); request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); var str="name=&

ASP.NET中用js取CheckBoxList中值的方法实例

用脚本取CheckBoxList中的值,并用"|"将其分开,之后将取到的值放入文本框,返回数据库做添加或者修改   做的一些项目都比较小,而且时间紧,有好多东西都没来得急总结,趁这会还有点时间把前面项目中的用到的知识点分享下,只为以后方便使用. 前台页面代码 复制代码 代码如下: <!--关键字-->     <div id="keyWordsDiv" style="border: 2px solid #6FA1D9; display: