博文

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报文的状态。服务器返回的状态代码由三位数字组成,可以用于测试阶段和转换......

阅读全文(1363) | 评论:0

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......

阅读全文(1445) | 评论:0

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++表达式。 可以看到: 顺序结构的程序中的各执行语句是顺序执行的。这种程序最简单,最容易理解。 ......

阅读全文(1581) | 评论:0

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。......

阅读全文(1687) | 评论:0

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(′\′′)         ......

阅读全文(3963) | 评论:0

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......

阅读全文(3992) | 评论:0

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 =......

阅读全文(1674) | 评论:1

用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;
 ......

阅读全文(3099) | 评论:1

第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;                &......

阅读全文(1681) | 评论:0

第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( )          ......

阅读全文(2720) | 评论:0