'解决了ACCESS数据库路径的问题!
'采用DBType=0或DBType=1来区分AC库还是MSSQL库
'具体采用AC库时应注意的事项,请看程序说明
-----------------------------------------------
Dim DBType,Conn,StrConn
DBType=0 '0为Access数据库,1为MSSQL数据库
If(DBType=0) Then
'****************ACCESS数据库******************
Dim DbFolderName,DbFolder_Path,SiteFolder
DbFolderName="ArticleData" '数据库所在文件夹名称
DbFolder_Path = Server.MapPath(DbFolderName) '数据库所在路径
SiteFolder="Article" '系统所在根目录名称
If Session("RootDir") = "" Then
Session("RootDir") = Mid(DbFolder_Path, 1, InStr(1,DbFolder_Path,SiteFolder,1) -1) & SiteFolder
End if
Set Conn = Server.CreateObject("Adodb.Connection")
StrConn = "Driver={Micro ......
一、提出问题:
在大型的ASP项目中,都涉及到了条件查询这一功能。用户要求能够针对特定的字段进行查询。对于有些数据,是从多个表取出来的,因此也要能对多个表进行查询。
一般的话,大多数的做法就是每个程序都做一个查询功能,因为每个查询的表都不同,涉及的字段也不同。但是,如果在大型的ASP项目中这么做的话,不仅增加了工作量、影响开发进度,而且不能使系统模块化、代码复用,增加了系统维护难度。因此,我们有必要使条件查询模块化。
二、解决思路:
我们设计条件查询的功能为:
1、选择查询字段(字段);
2、选择查询条件(<、>、=、<=、>=、<>、Null、Not Null、Like );
3、输入条件值;
4、选择运算关系(Or、And);
5、将查询条件添加到列表框、或从列表框删除。
详细界面请看下图:
我们以新闻表(dbNews)为例,假定新闻表包含有标题、时间、内容、发布人。
在查 ......
在WEB结构程序开发中,日期数据在表单中输入可以采用很多种方法,常见的有:
1、在文本框中让用户按规定好的日期格式直接输入。这种方法最简单,可是用户使用起来很麻烦,而且程序员还要在后台对输入的日期进行数据验证,所以显得很笨拙;
2、用下拉列表列出年份、月份、天数由用户选择输入。这种方法更麻烦,用户操作看似比上一种方便了,可是每一个日期输入都需要程序员在后台对年份、月份、天数一一循环列出,而且在列出前或用户输入后还是要对日期信息进行验证,所以这种方法也不可取;
3、用ActiveX日历控件,在前台输入。这种方法很方便,可是唯一缺点也是最致命的一个弱点:需要每个客户端都要装有ActiveX控件。
最近,笔者用ASP结合JavaScript,开发了这样一个模仿控件式的日期选择器。用户操作更直观、更方便;程序后台实现时可以在每次需要时很方便的调用,而不需要客户端安装任何程序。
在此,将源代码贡献出来与大家一起分享。
[原理]
使用页面通过打开定制窗口调用日期选择程序,并将使用页面内的FormName,FiledName元素属性传给日期选择程序。在日期选择程序中,用ASP在后台计算并显示出日历,用户选择后,将日期值再传回使用页 ......
用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐怕是遇见最多的问题了,尤其是上传图片,比如你想要在自己的社区里面实现类似网易虚拟社区提供的“每日一星”的功能,就要提供给网友上传照片的功能。 上传图片文件到服务器可以使用各种免费的文件上传组件,使用起来功能虽然很强大,但是由于很多情况下,我们只能使用免费的支持ASP的空间或者租用别人的虚拟空间,对于第一种情况,我们根本就没有可能来使用文件上传组件;至于第二种情况,我们也要付出不少的“银子”才可以。除非你拥有自己的虚拟主机,你就可以随便的在服务器上面安装自己所需要的组件,这种情况对于大多数人来说是可望而不可及的。那我们就没有办法了吗?呵呵,答案是肯定的(当然是肯定的了,要不然我也没法写出这篇文章啊)。下面就让我们一起来使用纯ASP代码来实现图片的上传以及保存到数据库的功能(顺便也实现显示数据库中的图片到网页上的功能)。
首先我们先来熟悉一下将要使用的对象方法。我们用来获取上一个页面传递过来的数据一般是使用Request对象。同样的,我们也可以使用Request对象来获取上传上来的文件数据,使用 ......
Connector/ODBC 3.5 的配置界面中
Connect Options 选项卡上的 initial statement字段,
你在里边输入” set names gb2312”
然后点确定就ok了
Mysql支持中文,要将数据库的字符集和表的字符集设置成gb2312,解决方法:
(1)在创建数据库时指定字符集
create database yourDB CHARACTER SET gb2312;
(4)创建表的时候指定字符集
CREATE TABLE `sys_user` (
`userid` int(11) NOT NULL auto_increment,
`account` char(20) character set gb2312 NOT NULL default '',
`username` varchar(50) character set gb2312 default NULL,
`password` varchar(64) character set gb2312 NOT NULL default '',
PRIMARY KEY (`userid`,`account`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
(2)或在数据结构里指定字符集为gb2312,校对规则指定为gb2312_chinese_ci(可选)
(3)连接字符串加上字符集编码
a. asp.net:
string connStr = "server=localhost;database=yourdatabase;uid=root;pwd=;Charset=gb2312;";
b. asp中要能显示和操作中文记录,必须在数据连接中加上OPTION=3;stmt=SET NAMES GB2312
co ......
Connector/ODBC 3.5 的配置界面中
Connect Options 选项卡上的 initial statement字段,
你在里边输入” set names gb2312”
然后点确定就ok了
Mysql支持中文,要将数据库的字符集和表的字符集设置成gb2312,解决方法:
(1)在创建数据库时指定字符集
create database yourDB CHARACTER SET gb2312;
(4)创建表的时候指定字符集
CREATE TABLE `sys_user` (
`userid` int(11) NOT NULL auto_increment,
`account` char(20) character set gb2312 NOT NULL default '',
`username` varchar(50) character set gb2312 default NULL,
`password` varchar(64) character set gb2312 NOT NULL default '',
PRIMARY KEY (`userid`,`account`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
(2)或在数据结构里指定字符集为gb2312,校对规则指定为gb2312_chinese_ci(可选)
(3)连接字符串加上字符集编码
a. asp.net:
string connStr = "server=localhost;database=yourdatabase;uid=root;pwd=;Charset=gb2312;";
b. asp中要能显示和操作中文记录,必须在数据连接中加上OPTION=3;stmt=SET NAMES GB2312
co ......
using using System.Diagnostics;
public string ExeCommand(string commandText)
{
Process p = new Process();
p.StartInfo.FileName = "NOTEPAD.exe"; //换成你要执行的
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
try
{
p.Start();
//p.StandardInput.WriteLine(commandText);
//p.StandardInput.WriteLine("exit");
//strOutput = p.StandardO ......