论坛都是怎样绑定数据库的啊?是通过什么样的形式?
呵呵``你们学的看来都是些皮毛功夫哈``,以后要努力学习了哦.
我路过顺便说几句吧.论坛要说是一个3层架构的系统.
但是他在读取数据的时候与平日里你们学习的读取数据库里的东西的方式是一样的.
而不同的只是他的显示方式而已.在这里我带上一点代码大家看看(在页面上用标签显示数据库里的内容,且还加上了超连接,显示样式等等),他是在后台代码里从数据库里读取出来生成的Html代码.通过方法的返回在页面的html用<%=方法名()%>调用.
在后台代码里生成html代码是很通用的写法.他可以生成表格,单元格等等很多的东西.代码如下:
strSql="select top "+iPageSize+" id,name,email,homepage,topic,speak,re,sendtime,ip,admintime from (select top "+(iRecordCount-iPageSize*(iCurrentPage-1))+" id,name,email,homepage,topic,speak,re,sendtime,ip,admintime from guestbook order by id) order by id desc";
OleDbCommand mycommand=new OleDbCommand(strSql,conn.dbconn);
try
{
OleDbDataReader myReader=mycommand.ExecuteReader();
while(myReader.Read())
{
string strId=myReader.GetValue(0).ToString();
string strName=myReader.GetValue(1).ToString();
string strEmail=myReader.GetValue(2).ToString();
string strHomePage=myReader.GetValue(3).ToString();
string strTopic=myReader.GetValue(4).ToString();
string strSpeak=myReader.GetValue(5).ToString();
string strRe=myReader.GetValue(6).ToString();
string strSendTime=myReader.GetValue(7).ToString();
string strIp=myReader.GetValue(8).ToString();
string strAdminTime=myReader.GetValue(9).ToString();
strSpeak=strSpeak.Replace("\n","<br>");
strRe=strRe.Replace("\n","<br>");
this.Label1.Text=this.Label1.Text+"<HR width='600' SIZE='1'>";
this.Label1.Text=this.Label1.Text+"<TABLE height=120 cellSpacing=0 cellPadding=0 width=600 align=center border=0>";
this.Label1.Text=this.Label1.Text+"<TR><TD style='WIDTH: 28px' vAlign=top><IMG src='img/foot.gif'></TD>";
this.Label1.Text=this.Label1.Text+"<TD vAlign=top><FONT face=宋体>";
this.Label1.Text=this.Label1.Text+"主题:"+strTopic+"<br>";
this.Label1.Text=this.Label1.Text+"姓名:"+strName+"<br>";
if(myReader.GetValue(2).ToString()!="")
{
this.Label1.Text=this.Label1.Text+"Email:<a href=mailto:"+strEmail+">"+strEmail+"</a><br>";
}
if(myReader.GetValue(3).ToString()!="" && myReader.GetValue(3).ToString()!="http://")
{
this.Label1.Text=this.Label1.Text+"个人主页:<a href='"+strHomePage+"'>"+strHomePage+"</a><br>";
}
this.Label1.Text=this.Label1.Text+"<br>"+strSpeak+"<br>";
this.Label1.Text=this.Label1.Text+"<p align=right>发表时间:"+strSendTime+"</p>";
if(strAdmin=="IsAdmin")
{
this.Label1.Text=this.Label1.Text+"<p align=right>来自:"+strIp;
this.Label1.Text=this.Label1.Text+" <a href=re.aspx?id="+strId+">回复</a> <a href=edit.aspx?id="+strId+">编辑</a> <a href=del.aspx?id="+strId+">删除</a></p>";
}
if(strRe!="")
{
this.Label1.Text=this.Label1.Text+"<font color=red>版主回复:</font><br>";
this.Label1.Text=this.Label1.Text+"<br>"+strRe+"<br>";
this.Label1.Text=this.Label1.Text+"<p align=right>回复时间:"+strAdminTime+"</p>";
if(strAdmin=="IsAdmin")
{
this.Label1.Text=this.Label1.Text+"<p align=right><a href=adminedit.aspx?id="+strId+">编辑</a> <a href=admindel.aspx?id="+strId+">删除</a></p>";
}
}
this.Label1.Text=this.Label1.Text+"</FONT></TD>";
this.Label1.Text=this.Label1.Text+"</TR></TABLE>";
}