Profil de SrainSrain的共享空间PhotosBlogListes Outils Aide

Blog


17 juin

自定义关键词显示颜色

把之前的新闻标题(news_subject)字段值由<%=(Recsearch.Fields.Item("news_subject").Value)%>改为:
 
<%=replace((Recsearch.Fields.Item("news_subject").Value),request.QueryString("text"), "<font color='#FF0000'>"&request.QueryString("text")&"</font>")%> 
 
大家应该都可以看的懂的
 
看看显示的效果:
 
10 juin

在同一页面显示搜索结果

//Srain
 
接着用Dreamweaver做个简单的站内搜索页说,怎样在同一页面显示搜索结果呢?很简单,其实无需说一下的,只是为了凑篇博文,所以写写,顺便说说怎样解决刷新表单重新提交的问题,我用的版本是Dreamweaver CS3。
 
先前我们的搜索页面为SearchPage.asp,搜索结果页面为SearchList.asp,详细信息页为info.asp,现在为了在SearchPage.asp页面显示搜索结果,我们做如下的改变:
 
1.在SearchPage.asp页面链接数据库并绑定记录集,在搜索表单属性面板动作选项中填入SearchPage.asp(也就是本页面),详细看第4步骤的图。
2.同样的,在SearchPage.asp页面插入主详细页集,具体操作是“插入记录”-数据对象-主详细页集,当然,你也可以通过拖拽的方式把需要的记录集字段拖进来。
3.双击“应用程序-绑定”面板的记录集,做如下的设置,目的是搜索出标题中含有输入的关键字的新闻出来,这里包含的意思是,只要news_subject(新闻标题)中含有searchbox这个关键字就会显示出来,属于模糊搜索,排序是按照新闻的标号(news_id)升序排列。
4.为了在刷新本搜索页面的时候不会重复提交表单,设置表单方法为Get,目标选_parent(刷新还转到本窗口,_blank则是转到新窗口)
5.保存,用浏览器看一下效果吧
搜索前:
搜索后:(关键词为“新闻”)
 
基本上就是这样了。
 
31 mai

用Dreamweaver做个简单的站内搜索页

//Srain
 
本文用的网页为asp动态页面,Dreamweaver的本版为CS3,access数据库版本为2003,我们将来做一个简单的站内搜索页,即在在页面搜索在数据库已经存在的数据,本文只讲标题的搜索,有兴趣的同学可以利用数据库的SQL语句设计出一些诸如搜索文本内容或者作者的功能出来。
 
1.准备工作:
在HowToSearch目录下面新建两个asp页面:搜索页SearchPage.asp和搜索结果页SearchList.asp;再新建一个access数据库,数据库内容如下:
 
 
 注意表的字段名。
 
2.在Dreamweaver中打开SearchPage.asp页面,新建一个包含文本框和提交按钮的表单,如下图所示
 
 
修改文本域的名称为searchbox,表单属性中的动作选项填上SearchList.asp,目标选_blank(新窗口打开链接)
3.打开页面SearchList.asp创建数据库链接(用自定义链接字符串的方法链接,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/HowToSearch/news.mdb")
 
 
4.绑定记录集,各项设置如下图所示
seardkd
 
筛选选项中,填入news_sbuject的目的是搜索包含有关键字的新闻标题,searchbox即是我们在前面设置好的文本框的名字,搜索结果按照新闻日期降序排列
 
5.绑定数据集以后就可以进行准确的搜索了,不过要输入标题的全部内容才可以搜索到,譬如只能输入“一条新闻”才可以搜索到标题是“一条新闻”的新闻,而不可以用“新闻”来搜索到,我们需要用模糊搜索的方法来实现他。
 
在设置绑定记录集的时候,点选高级,进入高级设置,把其中的SQL语句部分的内容:
 
SELECT *
FROM newsCenter
WHERE news_subject = MMColParam
ORDER BY news_date DESC
修改为:
SELECT *
FROM newsCenter
WHERE news_subject LIKE %MMColParam%
ORDER BY news_date DESC
 6.在SearchList.asp插入主详细页集。方法是依次选择 插入记录—数据对象-主详细页集,如下图设置,注意,详细页名称我填的是info.asp,这个名字是随意的,你可以选择一个已经建好的asp页面。
 
7.单击确定后就会建好一个搜索结果页(SearchList.asp)和详细页(info.asp),这个时候我们全部保存,在浏览器下操作一下试试效果吧。譬如我在搜索框中输入“新闻”,便会得到下面的搜索结果(分页的部分没有截图):
 
可以看的出来news_subject下面的句子里面全部含有“新闻”这个关键字,实际制作页面的时候,需要把news_id,news_type...这些改为自己想要的文字,还可以美化一下页面的显示效果。点击新闻的ID数字,如14,就会转到这条新闻的详细页。
 
总结:OK了,这样,一个简单的搜索页就做好了,其实做这样的一个搜索页对技术的要求不高,会基本的access操作,懂动态页面怎样连接数据库,怎样绑定记录集,看懂基本的SQL语句就可以了。另外,你做好了这样的搜索页以后,每次刷新都会弹出是否重新提交的提示,如果出现这样的情况的话,把SearchPage.asp里面的搜索表单的提交方法由post改为get,再修改一下Searchpage.asp和Searchlist.asp里面的表单数据读取方法就可以了,例如把 Request.Form("searchbox")修改为Request("searchbox"),说的轻松,操作起来可能有些不甚明了,没关系,一步一步来。
 
下一篇文章里面会讲一下比这个搜索稍微复杂一点的搜索页的制作方法。
 

23 mai

连接Access 2007数据库的方法

//Srain
 
microsoft office access 2007比2003的版本在操作性和功能上都有不小的改善,详情请看access帮助中心“Microsoft Office Access 2007 中的新增功能”章节,就我个人来说,因为工作性质的原因,很少会用到2003版本的access,最近想学习点编程和网页制作,才开始看看access怎样使用的,当然,我装的是office 2007,新的东西总是很吸引人的嘛。废话少数,怎样用Dreamweaver动态页面连接access2007的数据库呢?如果直接用以前的那种方法连接的话,会出现无效的数据库文件等错误,因为access 2003数据库格式是.mdb,而access 2007的格式是.accdb。现在提供三种方法给大家:
 
方法1.Access 2007转换为access 2000-2003数据库,再根据Dreamweaver中创建数据库的连接中方法操作即可,要注意的是,因为有些access 2007的功能是  2003版本所不具备的,所以这种转换可能造成部分数据的丢失。转换的方法如下,word、execl、ppt等也可以用同样的操作转换。
 
 
方法2.ODBC数据源连接,这种方法也可以连接access 2007数据库,问题是空间是在别人的主机上,而你又没有管理权限的时候,这种方法就失效了。
第一步,在控制面板-管理工具中,打开ODBC数据源管理器,转到“系统DSN”选项
 
 
第二步 点击“添加”添加数据源驱动程序
access3
 
第三步 输入数据源名和说明,选择数据库
access4
设置好以后,按“确定”
最后用dreamweaver应用程序面板-数据库-数据源名称(DSN)选定设置好的数据源连接即可
 
方法3(推荐).自定义连接字符串连接
因为access 2007的数据库格式与2003的版本有所不同,所以数据提供者由jed db4.0变为Microsoft.ACE.OLEDB.12.0 了,再用下面方式的方法连接,是不行的
 
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/newstest.accdb")
把上面的Provider(数据提供者)修改Microsoft.ACE.OLEDB.12.0 就可以了,是不是很简单呢?
"Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source = "& Server.MapPath ("/newstest.accdb")
 
总结,到目前为止,我认为第三种方法连接的方法最简单易行,大家也可以按照同样的方法修改“自定义连接字符串”的其他方式。
 
 
 
 
 
 
 

21 mai

Dreamweaver中创建数据库的连接

//Srain
 
Dreamweaver中ASP有最少有两种方法可以实现与数据库的连接(windows XP系统下,ACCESS 2003数据库
 
1.利用数据源名称来连接(DSN连接),也就是利用系统中的ODBC管理器来设置数据源名称,达到连接到需要的数据库目的,如果把网页放在别人的主机上,是没办法这样用的。
2.自定义连接字符串,一般成为DSN_less,就是设置连接的字符串驱动程序,直接通过通过ODBC连接到数据库。
 
对于只是简单使用dreamweaver连接数据库的同学来说,上面的DSN、ODBC的概念不是特别的重要,掌握方法就可以了,我们一般使用第二种方法连接数据库,下面就介绍一下方法,还是不懂的同学可以发email到srain_liu@live.cn询问探讨。
 
1.打开Dreamweaver cs3,新建一空白asp页面(静态页面不可以连接数据库,所以要用动态asp/php/...等页面),打开左侧的“应用程序”面板,转到“数据库”选项,如下图
2.点击“+”号,选择“自定义连接字符串”,在弹出的对话框中,“连接名称”处写上你的连接名称,对于命名,没有特别的规定,简单易懂就可以了,譬如我可以用connTest表明这个连接是连接到测试数据库;在“连接字符串”处输入下面的连接语句:
 
Driver={Microsoft Access Driver (*.mdb)};DBQ=数据库路径        注:数据库路径要用绝对路径,如D:\test\test.mdb
Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =数据库绝对路径
 
点击“测试”如果出现“成功创建连接脚本”的提示,则说明连接成功。如下图
 
注:当然也可以用相对路径来连接
"Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "& Server.MapPath ("/test/test.mdb")
 
3.如果我们要使用数据库里面的资源,在创建数据库连接后还需要绑定记录集,下一篇文章会介绍到,到时候我们就可以将数据库里面的资源,显示在页面上或者做一些动态的行为了。
 
 
 
17 mai

Dreamweaver CS3的绑定命令错误

//Srain
 
用DW CS3绑定命令(预存过程)后,在页面浏览会出现下面的错误,不知道是我自己有还是别的人也会这样:
 
错误类型:
Microsoft VBScript 编译器错误 (0x800A0408)
无效字符
/countSystem/counter.asp, line 59, column 17
Command1__varName@@ = @@runtimeValue@@
...
 
解决方法很简单,转到代码视图后删除该段代码的所有“@@”或者改为空就可以了
13 mai

新闻标题加new或hot的图标

//Srain

可以通过插入下列asp代码实现:

<% if RecNews.Fields.Item("news_date").Value > date()-1 Then 'start db_sc script %>
<img src="db/image/new.gif" alt="news" width="28" height="11" />
 <% end if 'end db_sc script %></td>
 
其中RecNews是数据集名称,news_date是日期的字段名称,date()-1计算现在的时间减去1天,大于date()-1的时间既是今天,所以上段代码用来在今天添加的新闻上添加new的图标,图标路径为db/image/new.gif,若改为date()-2则是最近2天的新闻标题上加new图标。
 
也可以通过织梦平台的eDASPRegion.mxp插件来实现这一功能,网上搜索一下应该有的,找不到的话也可以联系我srain_liu@live.com
 
通过“命令”-“扩展管理”-“文件”-“安装扩展”-...以后,再通过“服务器行为”里面的eDreamer-条件式区域-字段与输入代码来设置,如下图:
 
eDASPRegion
效果
news
 

“操作必须使用一个可更新的查询”解决方法

//Srain
 
用网页程序写入、删除或者更新资料时,时常会出现如下的错误信息:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。操作必须使用一个可更新的查询。
 
一般来说,只要修改数据库文件操作的用户权限就可以了
1.在任意一个磁盘目录下,打开“工具”-“文件夹选项”-“查看”,取消“使用简单文件共享”前面的勾,目的是将文件的详细设置显示出来。如下图
1
2.选定你建立的数据库文件,右键-“属性”-“安全”。如果不取消使用简单文件共享的话是看不到“安全”选项的。
2
3.点击“添加”-在“输入对象名称来选择”下面输入字母“e“,点击”检查名称“,就会出现一个“Everyone”的账号,意即每个人。用鼠标选择他点击“确定”回到如下图所示的对话框。
3
4.选中EveryOne,再点选“允许”下面的完全控制,确定就可以了。
 
注:也可以通过设置Guest账号的方法来修改,Internet的Guest账号为IUSR_计算机名。
 

修改新建页面的默认编码

//Srain
 
简体中文在Unicode(UTF-8)编码的页面里面会出现乱码现象,可以通过改变首选参数(编辑菜单里面)来修改新建的页面的编码方法,就不需要在每个页面的页面属性里面修改了。一般我们改为GB2312.如下图所示:
gb2312