博文
ASP的对象结构(2008-08-20 19:53:00)
摘要:ASP的对象结构
现在我们要系统地了解一下ASP的对象结构,然后,大家就可以举一反三,不用我过多解释每一个例子了。这一部分,可能有些困难。
一、Request
Request对象把客户信息保存在几个集合中,供ASP应用使用。通用的访问方法为:Request.Collection("membername")
当你不指定集合名时,以(1)QueryString,(2)Form,(3)Cookie和(4)ServerVariable
的顺序搜索所有集合,当发现第一个匹配的变量时,就认定他是要引用的成员。当然,为了提高效率,你最好显式指定是那个集合中的成员。
QueryString集合
当HTML表单使用GET方法向ASP文件传递数据时,数据被保存在集合QueryString中。其成员可以具有与之相关的多个值,也就是说,同一个表单中,多个元素可以有相同的名字,下面的代码访问这些数据:
<%For each item in Request.QueryString("Name")
Response.write Item &"<br>"
Next %>
Form集合
当表单用POST方法时,数据被保存在Form集合中。
ServerVariable集合
保存了随HTTP请求一起传送HTTP头的信息,可以通过他获取有关浏览器的信息,主要成员有:
REMOTE_ADDR 远程主机IP地址
REMOTE_HOST 远程主机名称
REMOTE_USER 客户名称
REQUEST_METHOD 请求方法(如POST,GET,HEAD)
SERVER_NAME 服务器名
SERVER_PROTOCOL 服务器版本号(如HTTP/1。0)
二、Response对象
用来控制向客户返回的HTML的内容,有若干属性和方法。下面介绍我认为重要的:
Buffer属性
如果为True,则Response的内容要写入缓冲区,当脚本处理完时再发给客户。
Status属性
传递HTTP Response报文的状态。服务器返回的状态代码由三位数字组成,可以用于测试阶段和转换......
ASP数据库语法总结(2008-08-20 19:52:00)
摘要:ASP数据库语法总结
经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不曾刻意去记忆它们(我本人是不愿意去记这东东),所以常常在用到的时候又去查书本,翻来翻去。一些比较少用的数据库还不一定能顺利找到,所以现在把它们全归纳到这里,提供大家参考。(个人水平有限,有缺陷之处,欢迎大家指正。)
<一>。数据库的连接方法:
1.Access数据库的DSN-less连接方法:
set adocon=Server.Createobject("adodb.connection")
adoconn.Open"Driver={Microsoft Access Driver(*.mdb)};DBQ="& _
Server.MapPath("数据库所在路径")
2.Access OLE DB连接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Provider=Microsoft.Jet.OLEDB.4.0;"& _
"Data Source=" & Server.MapPath("数据库所在路径")
3.SQL server连接方法:
set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver={SQL Server};Server=(Local);UID=***;PWD=***;"& _
"database=数据库名;"
4.SQL server OLE DB连接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=数据库名"
5.Oracle 连接方法:
set adocon=Server.Createobject("adodb.connection")
adocon.open"Driver={micro......
C++入门 第三章 3.5 编写顺序结构的程序(2008-08-20 19:43:00)
摘要:
例3.5 求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4ac≥0。
根据求x1,x2的算法。它可以编写出以下C++程序:
#include <iostream>
#include <cmath> //由于程序要用到数学函数sqrt,故应包含头文件cmath
using namespace std;
int main( )
{float a,b,c,x1,x2;
cin>>a>>b>>c;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<<″x1=″<<x1<<endl;
cout<<″x2=″<<x2<<endl;
return 0;
}
运行情况如下:
4.5 8.8 2.4 ↙
x1=-0.327612
x2=-1.17794
如果程序中要用到数学函数,都要包含头文件cmath(也可以用老形式的头文件math.h,但提倡使用C++新形式的头文件,请参阅第14章14.3节)。在写程序时,一定要注意将数学表达式正确地转换成合法的C++表达式。
可以看到: 顺序结构的程序中的各执行语句是顺序执行的。这种程序最简单,最容易理解。
......
C++入门 第三章3.4.4 用scanf和printf函数进行输入和输出(2008-08-20 19:42:00)
摘要:
在C语言中是用printf函数进行输出,用scanf函数进行输入的。C++保留了C语言的这一用法。在此只作很简单的介绍。
scanf函数一般格式是
scanf(格式控制,输出表列)
printf函数的一般格式是
printf(格式控制,输出表列)
例3.4 用scanf和printf函数进行输入和输出。
#include <iostream>
using namespace std;
int main( )
{int a; float b; char c;
scanf(″%d %c %f″,&a,&c,&b); //注意在变量名前要加地址运算符&
printf(″a=%d,b=%f,c=%c\n″,a,b,c);
return 0;
}
运行情况如下:
12 A 67.98↙(本行为输入,输入的3个数据间以空格相间)
a=12,b=67.980003,c=A(本行为输出)
输入的整数12送给整型变量a,字符′A′送给字符变量c,67.98送给单精度变量b。......
C++入门 第三章 3.4.3 用getchar和putchar 函数进行字符的(2008-08-20 19:41:00)
摘要:
C++还保留了C语言中用于输入和输出单个字符的函数,使用很方便。其中最常用的有getchar函数和putchar函数。
1. putchar函数(字符输出函数)
putchar函数的作用是向终端输出一个字符。例如
putchar(c);
它输出字符变量c的值。
例3.2 输出单个字符。
#include <iostream> //或者包含头文件stdio.h: #include <stdio.h>
using namespace std;
int main( )
{char a,b,c;
a=′B′;b=′O′;c=′Y′;
putchar(a);putchar(b);putchar(c);putchar(′\n′);
putchar(66);putchar(79);putchar(89);putchar(10);
return 0;
}
运行结果为
BOY
BOY
可以看到: 用putchar可以输出转义字符,putchar(′\n′)的作用是输出一个换行符,使输出的当前位置移到下一行的开头。putchar(66)的作用是将66作为ASCII码转换为字符输出,66是字母′B′的ASCII码,因此putchar(66)输出字母′B′。其余类似。putchar(10)中的10是换行符的ASCII码,putchar(10)输出一个换行符,作用与putchar(′\n′) 相同。
也可以输出其他转义字符,如
putchar(′\101′) (输出字符′A′,八进制的101是′A′的ASCII码)
putchar(′\′′)  ......
C++入门 第三章 *3.4.2 在输入流与输出流中使用控制符(2008-08-20 19:40:00)
摘要:
上面介绍的是使用cout和cin时的默认格式。但有时人们在输入输出时有一些特殊的要求,如在输出实数时规定字段宽度,只保留两位小数,数据向左或向右对齐等。C++提供了在输入输出流中使用的控制符(有的书中称为操纵符),见书中表3.1。
需要注意的是: 如果使用了控制符,在程序单位的开头除了要加iostream头文件外,还要加iomanip头文件。
举例: 输出双精度数。
double a=123.456789012345;对a赋初值
(1) cout<<a;输出: 123.456
(2) cout<<setprecision(9)<<a;输出: 123.456789
(3) cout<<setprecision(6);恢复默认格式(精度为6)
(4) cout<< setiosflags(ios∷fixed);输出: 123.456789
(5) cout<<setiosflags(ios∷fixed)<<setprecision(8)<<a;输出: 123.45678901
(6) cout<<setiosflags(ios∷scientific)<<a;输出: 1.234568e+02
(7) cout<<setiosflags(ios∷scientific)<<setprecision(4)<<a; 输出: 1.2346e02
下面是整数输出的例子:
int b=123456;对b赋初值
(1) cout<<b;输出: 123456
(2) cout<<hex<<b; 输出: 1e240
(3) cout<<setiosflags(ios∷uppercase)<<b;输出: 1E240
(4) cout<<setw(10)<<b<<′,′<<b; 输出: &nbs......
ASP.NET程序中常用的三十三种代码(2008-08-19 10:30:00)
摘要: ASP.NET程序中常用的三十三种代码
新一篇: 在ASP.NET 2.0中直接得到本页面生成的HTML代码
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm(’确认?’)");
button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")
3.删除表格选定记录
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4.删除表格记录警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Cells[14];
LinkButton myDeleteButton ;
myDeleteButton =......
用javascript实现进度条(2008-08-19 10:28:00)
摘要: 首选要感谢csdn,因为这套代码是在csdn资源下载页面的那个进度条的基础上修改的,进度条的样式可通过css定义,div对象的创建使用innerHTML, 因为document.createElement("div");会带来内存泄露的问题,虽然这个进度条只占有几k的内存,但是还是把它做的完美些比较好,下面代码中init()方法是必要的,需要在页面初始化的时候初始进度条对象,即window.jtProBar = new syj.ProgressBar.....有了jtProBar 以后就可以通过jtProBar.setPercent来控制进度条的进度条了,例如jtProBar.setPercent(3/100);进度条的状态就为3%, 这个地方只要是小于1的分数即可,例如jtProBar.setPercent(3/278);会按百分比计算显示适当的比例.
下面的代码示例中用到了很多window.xxx 其实这个相当于 在script中定义 全局变量 var xxx= 效果是一样的.
<html>
<head>
<title>进度条</title>
<!--
简单的javascript进度条
作者:孙钰佳
邮箱:sunyujia@yahoo.cn
blog:http://blog.csdn.net/sunyujia/
转载请保留此段注释
-->
<style type="text/css">
.bgBar{
background: #FFFFFF;
......
第3章 面向过程的程序设计 3.1 面向过程的程序设计和算法[3](2008-08-18 22:18:00)
摘要:
有关流对象cin、cout和流运算符的定义等信息是存放在C++的输入输出流库中的,因此如果在程序中使用cin、cout和流运算符,就必须使用预处理命令把头文件stream包含到本文件中:
#include <iostream>
尽管cin和cout不是C++本身提供的语句,但是在不致混淆的情况下,为了叙述方便,常常把由cin和流提取运算符“>>”实现输入的语句称为输入语句或cin语句,把由cout和流插入运算符“<<”实现输出的语句称为输出语句或cout语句。根据C++的语法,凡是能实现某种操作而且最后以分号结束的都是语句。
*3.4.1 输入流与输出流的基本操作
cout语句的一般格式为
cout<<表达式1<<表达式2<<……<<表达式n;
cin语句的一般格式为
cin>>变量1>>变量2>>……>>变量n;
在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据。在执行cout语句时,先把插入的数据顺序存放在输出缓冲区中,直到输出缓冲区满或遇到cout语句中的endl(或′\n′,ends,flush)为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。输出流中的数据在系统默认的设备(一般为显示器)输出。
一个cout语句可以分写成若干行。如
cout<<″This is a simple C++ program.″<<endl;
可以写成
cout<<″This is ″ //注意行末尾无分号
<<″a C++ ″
<<″program.″
<<endl; &......
第3章 面向过程的程序设计 3.1 面向过程的程序设计和算法[2](2008-08-18 22:16:00)
摘要:
程序应该包括数据描述(由声明语句来实现)和数据操作(由执行语句来实现)。数据描述主要包括数据类型的声明、函数和变量的定义、变量的初始化等。数据操作的任务是对已提供的数据进行加工。
C++程序中最小的独立单位是语句(statement)。它相当于一篇文章中的一个句子。句子是用句号结束的。语句一般是用分号结束的(复合语句是以右花括号结束的)。
C++语句可以分为以下4种:
1. 声明语句
如int a,b;在C语言中,只有产生实际操作的才称为语句,对变量的定义不作为语句,而且要求对变量的定义必须出现在本块中所有程序语句之前。因此C程序员已经养成了一个习惯: 在函数或块的开头位置定义全部变量。在C++中,对变量(以及其他对象)的定义被认为是一条语句,并且可以出现在函数中的任何行,即可以放在其他程序语句可以出现的地方,也可以放在函数之外。这样更加灵活,可以很方便地实现变量的局部化(变量的作用范围从声明语句开始到本函数或本块结束)。
2. 执行语句
通知计算机完成一定的操作。执行语句包括:
(1) 控制语句,完成一定的控制功能。C++有9种控制语句,即
① if( )~else~ (条件语句)
② for( )~ (循环语句)
③ while( )~ (循环语句)
④ do~while( ) ......