首页 >> 读书频道 >> 电脑 >> 利用ISAPI实现向数据库中添加记录
 
· 不用数据源打开数据库(D
· 好东西,翻页程序,大家可
· ASP检索网站指定目录文
· 一个让用户更改密码的简单
· 用ASP进行网络打印功能
· ASP实现多语言支持
· 在ADO使用SELECT
· 调试ASP脚本
· 在ASP处理程序时,进度
· 用ASP列出服务器上的所
· asp实现数据记录的备份
· 在linux上用ASP
 
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
· 首批中国世界名牌产品和2
· 济南美食大全
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

利用ISAPI实现向数据库中添加记录


查看有无更新版本

关键字:ASP 2006-8-31

 

本文介绍了用HTML(HypertextMakeupLanguage)编写界面、编写ISAPI(InternetServerApplicationProgrammingInterface)交互程序以实现向用MicrosoftSQLServer建立的数据库中添加记录的方法。
1、前言
MicrosoftSQLServer是一种可伸缩的、高性能的关系型数据库管理系统(RDBMS),它专为分布式客户机-服务器计算环境而设计。它的内置数据复制功能、强大的管理工具和开放式的系统体系结构为发布信息提供了一个卓越的平台。它的内置数据复制功能为在整个组织机构内分发准确的信息提供了一个强大且可靠的方式,库中的数据不仅可以复制给MicrosoftSQLServer数据库,也可以复制给ORACLE、IBMDB2、SYBASE和其它数据库。
MicrosoftSQLServer为用户提供的内置数据复制功能--块拷贝程序(bcp)可在数据库管理系统之间迁移数据,能将数据从文件拷贝到SQLServer中。这也就是说用户可以利用bcp把某一个文件中的数据内容添加到数据库中。但是bcp是一个可执行程序,必须在命令提示符(如DOS)下运行它,这给Windows用户带来了极大的不方便;另外bcp命令有其固有的格式并带有许多参数,用户难于记忆。我们发展了利用ISAPI实现向数据库中添加记录的方法。这种方法用HTML编写用户输入文件名的界面,用ISAPI作交互程序。在ISAPI中通过ODBC(OpenDatabaseConnectivity)与SQLServer库连接。用户只需在HTML界面中输入文件名,文件中的数据内容就被方便地添加到指定的表中。此方法克服了bcp命令的缺点。本文介绍了用ISAPI实现向中药数据库中添加记录的方法,并给出了数据库表的建立方法、数据文件的格式、ISAPI主要程序、输入数据文件名界面的HTML文件格式等。
2、数据库表的建立
结构化查询语言SQL(StructuralQueryLanguage)是关系数据库系统的一种高级语言,它是在七十年代末由IBM公司的SanJose研究实验室开发的,现巳被许多关系型数据库管理系统所采用,并被美国国家标准局认定为一种工业标准的关系数据库查询语言。它具有强大的数据维护和查询功能,是一种可工作在多用户系统上的数据子语言。它的命令语句类似于英语句子,用户使用起来十分方便、易于理解。以下是用MicrosoftSQLServer建立的"CMT1"表举例:
CREATETABLECMT1
(
ZY00varchar(20)NOTNULL,
ZY01varchar(50)NOTNULL,
ZY02textNULL,
ZY03varchar(80)NOTNULL,
ZY04textNULL,
ZY05varchar(100)NOTNULL,
ZY06varchar(9)NOTNULL,
ZY07varchar(5)NOTNULL,
ZY08varchar(2)NOTNULL
)
3、数据文件格式
以下是向中药数据库表CMT1中添加记录的数据文件格式:
ZY00(中药中文名):{三七}
ZY01(中药中文名汉语拼音(大写)):{SANQI}
ZY02(中药中文别名):{人参三七,田七,盘龙七(四川),金不换(江西)}
ZY03(中药英文名):{Sanchi}
ZY04(中药英文别名):{}
ZY05(中药拉丁名):{RadixNotoginseng}
ZY06(中药材唯一码):{MMH35002A}
ZY07(中药大辞典编码):{00096}
ZY08(功效类别):{18}
上述数据文件中,只有"{"和"}"符号之间的字符被添加到中药数据库表CMT1的相应数据域中,"{"之前的字符用于给编写数据文件的用户予于提示,在ISAPI程序中可实现只取"{"和"}"之间的字符,忽略"{"前的提示字符及"{"和"}"字符等。
4、ISAPI应用程序的编写
我们利用SQL语句可嵌入在应用程序中的特点,把SQL的有关请求语句嵌入在ISAPI交互程序中。ISAPI交互程序用VisualC++编写,以下是实现向中药数据库的表CMT1中添加记录的主要程序段:

//建立一个CZY类的成员函数FileWrite1Entry,实现向中药数据库的表CMT1中添加记录
voidCZY::FileWrite1Entry(CHttpServerContext*pCtxt,LPTSTRpstrFileName)
{
constunsignedREC_NUM=1;//REC_NUM(数据文件中记录个数)
constunsignedLINE=9;//LINE(表中数据域的个数)
constunsignedCOLUMN=6000;//COLUMN(每个数据域中字符的最大个数)
charc,data[LINE][COLUMN];
FILE*fp;
StartContent(pCtxt);//HTML头格式
WriteTitle(pCtxt);//HTML标题
CstringstringSql;
CstringstrQuery;
CstringstrOutput;
CstringpstrZY00,pstrZY01,pstrZY02,pstrZY03,pstrZY04,pstrZY05,
pstrZY06,pstrZY07,pstrZY08;
//以"读"的方式打开文件名为pstrFileName的文件
if(!(fp=fopen(pstrFileName,"r")))
{
*pCtxt<<"<center><fontcolor='red'>Warning:</font>Cannotopenthisfile.</center>";
return;
}
//从文件中读取数据
for(intk=0;k<REC_NUM;k++)
{
for(intI=0;I<LINE;I++)
{
//忽略"{"以前的说明性字符
do{
c=getc(fp);
}while(c!='{');
//读取"{"和"}"之间的字符数据
for(intj=0;j<COLUMN;j++)
{
c=getc(fp);
if(c=='}')
{
data[j]='

利用ISAPI实现向数据库中添加记录

[ 1 ]
利用ISAPI实现向数据库中添加记录 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑