惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
I
InfoQ
V
Visual Studio Blog
M
MIT News - Artificial intelligence
H
Help Net Security
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
A
About on SuperTechFans
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
WordPress大学
WordPress大学

博客园 - nicesnow

.net 3.0 12个.net 开发者值得去读的国外Blog 如何在DNN站点的虚拟目录下安装CS 使用url与内部fileid绑定datalist中的图片 控制某个空间滚动效果的实现(scroll bar) update数据库表--存储过程 datagrid 模版列操作问题 Commerce starter kit数据库分析 DNN修改登录次数限制 Ajax程序设计入门 软件工程之需求分析(二) 软件工程之需求分析(一) 关于民工。。。感人! 国外C#开源系统一览表 关于SharpWebMail配置调试 怎样将表中数据导出,形成insert into 表名 values(...)这样的语句? 怎样将表中数据导出,形成insert into 表名 values(...)这样的语句? 怎样才是一个真正的DBA? 微软提供的关于其它数据库迁移到SQL Server的技术指南
今天犯的一个错误,学得到不少东西,哈哈
nicesnow · 2006-12-19 · via 博客园 - nicesnow

从前面往后面写:
ascx:

 1<asp:datagrid id="grdTopics" Runat="server" GridLines="None" CellPadding="2" AutoGenerateColumns="false"
 2    width="100%" cssclass="DataGrid_Container">
 3    <FooterStyle CssClass="DataGrid_Footer"></FooterStyle>
 4    <SelectedItemStyle CssClass="NormalRed"></SelectedItemStyle>
 5    <EditItemStyle CssClass="NormalTextBox"></EditItemStyle>
 6    <AlternatingItemStyle CssClass="Normal"></AlternatingItemStyle>
 7    <ItemStyle HorizontalAlign="Left" CssClass="Normal"></ItemStyle>
 8    <HeaderStyle HorizontalAlign="Center" CssClass="NormalBold" VerticalAlign="Top"></HeaderStyle>
 9    <Columns>
10        <asp:TemplateColumn HeaderText="Selected">
11            <ItemTemplate>
12                <input type="checkbox" width="10" name="chkid" value='<%# DataBinder.Eval(Container.DataItem, "TopicID")%>' onclick='UnCheck(this)'  style="background-color:transparent" >
13            </ItemTemplate>
14        </asp:TemplateColumn>
15        <dnn:TextColumn HeaderText="TopicId" DataField="TopicId" Width="50">
16            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
17            <ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
18            <HeaderTemplate></HeaderTemplate>
19            <ItemTemplate></ItemTemplate>
20            <EditItemTemplate></EditItemTemplate>
21        </dnn:TextColumn>
22        <dnn:TextColumn HeaderText="Title" DataField="inTitle" Width="">
23            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
24            <ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
25            <HeaderTemplate></HeaderTemplate>
26            <ItemTemplate></ItemTemplate>
27            <EditItemTemplate></EditItemTemplate>
28        </dnn:TextColumn>
29        <dnn:TextColumn HeaderText="Summary" DataField="inSummary" Width="50">
30            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
31            <ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
32            <HeaderTemplate></HeaderTemplate>
33            <ItemTemplate></ItemTemplate>
34            <EditItemTemplate></EditItemTemplate>
35        </dnn:TextColumn>
36        <dnn:TextColumn HeaderText="Guests" DataField="inGuests" Width="">
37            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
38            <ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
39            <HeaderTemplate></HeaderTemplate>
40            <ItemTemplate></ItemTemplate>
41            <EditItemTemplate></EditItemTemplate>
42        </dnn:TextColumn>
43        <dnn:TextColumn HeaderText="Time" DataField="inTime" Width="">
44            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
45            <ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
46            <HeaderTemplate></HeaderTemplate>
47            <ItemTemplate></ItemTemplate>
48            <EditItemTemplate></EditItemTemplate>
49        </dnn:TextColumn>
50        <dnn:TextColumn HeaderText="ImgUrl" DataField="inImgUrl" Width="">
51            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
52            <ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
53            <HeaderTemplate></HeaderTemplate>
54            <ItemTemplate></ItemTemplate>
55            <EditItemTemplate></EditItemTemplate>
56        </dnn:TextColumn>
57        <dnn:ImageCommandColumn KeyField="TopicId" ShowImage="True" ImageURL="images/edit.gif" CommandName="Edit"
58            EditMode="URL">
59            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
60            <EditItemTemplate></EditItemTemplate>
61            <ItemStyle HorizontalAlign="Center"></ItemStyle>
62            <HeaderTemplate></HeaderTemplate>
63            <ItemTemplate></ItemTemplate>
64        </dnn:ImageCommandColumn>
65        <dnn:ImageCommandColumn KeyField="TopicId" ShowImage="True" ImageURL="images/delete.gif" CommandName="Delete"
66            EditMode="Command">
67            <HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
68            <EditItemTemplate></EditItemTemplate>
69            <ItemStyle HorizontalAlign="Center"></ItemStyle>
70            <HeaderTemplate></HeaderTemplate>
71            <ItemTemplate></ItemTemplate>
72        </dnn:ImageCommandColumn>
73    </Columns>
74    <PagerStyle CssClass="DataGrid_Pager"></PagerStyle>
75</asp:datagrid>

这里没怎么出问题,
下面就有问题了:
.ascx.cs:

 1private void BindData()
 2        {
 3
 8            ChatRoomController ctl1 = new ChatRoomController();
 9            TopicsInfo info1 = ctl1.GetTopics(this.ModuleId);//这里得到所有的topic,数组形式,调试时可以将info1里面的内容输出:
                  TopicInfo aa = (TopicInfo)info1.Topics[0];
                  Response.Write(info1.Count.ToString() +aa.inTitle);
26            this.grdTopics.DataSource = info1.Topics;
28            this.grdTopics.DataBind();
29            this.BindPages();
30            this.ProessButton();
31        }

最大的错误出现在controller里面:

 1public TopicsInfo GetTopics(int ModuleID)
 2        {
 3            TopicsInfo info1 = new TopicsInfo();
 4            ArrayList list1 = new ArrayList();
 5            IDataReader reader1 = DataProvider.Instance().GetTopics(ModuleID);
 6            reader1.Read();
 7            int num1 = Convert.ToInt32(RuntimeHelpers.GetObjectValue(reader1[0]));
 8            reader1.NextResult();
 9            list1 = CBO.FillCollection(reader1, typeof(TopicInfo));
10            info1.Count = num1;
11            info1.Topics = list1;
12            return info1;
13        }

由于对 IDataReader reader1 = DataProvider.Instance().GetTopics(ModuleID);   reader1.Read();
不熟悉,所以犯错误了,现在详细的认识一下这个idatareader :
       通过存储过程gettopic读出来所有的数据库中的数据,reader[0]是第一个数组中的内容。
reader1.NextResult();读下一个数组。
num1得到了reader[0],即topic的个数(在存储过程里面很清楚,一共select了两个数据,一个是topic个数,一个是topic的内容)
然后 info1.count = num1。
info1.topics = list1(即reader读的第二条数据 reader1.NextResult(),topic的内容)

以下是存储过程:

 1SELECT COUNT([TopicId])
 2        FROM dbo.HVC_ChatRoom_TopicsList
 3    WHERE ModuleID = @ModuleID
 4    
 5    SELECT
 6        TopicId,
 7        inTitle,
 8        inSummary,
 9        inTime,
10        inGuests
11    FROM {databaseOwner}{objectQualifier}HVC_ChatRoom_TopicsList
12    WHERE ModuleID = @ModuleID