mikebai.com

  • Home
  • dev
  • DotNET
  • M365
  • 搞笑
  • 杂七杂八
  • FocusDict
dev
dev

报表制作利器—Reporting Services

如何快捷,简单地做一份好的报表一直是广大程序员所盼望的。在日常开发中,每当讲到做报表,一般有以下两种方法:1)将数据转变为EXCEL,WORD等形式,之后进行打印。2)使用第三方报表工具,如著名的水晶报表,activereport等,但随之而来的问题是,要深入掌握这些报表工具,有一定的难度,需要一定的经验。今年,微软公司终于推出了一个新一代的报表解决方案------Microsoft Reporting Service。它是一个完整的基于服务器的平台,可以建立、管理、发布传统的基于纸张的报表或者交互的、基于Web的报表。而且最大的特色是,它采用基于XML的RDL报表描述语言来定制报表,可以用于给第三方定制开发符合接口标准的报表工具,使得软件开发人员和企业可以将报表集成到已有的系统或第三方的应用中。Reporting Services包括:· 用来建立管理以及浏览报表的一组完整的工具· 用来存放、处理报表的一个引擎· 可扩展的体系结构和开发的接口,可将报表嵌入或者集成到各种不同的IT环境的解决方案中从上图可以看出,Reporting Service可以连接到不同的数据库,如SQL Server,Oracle,DB2等,也可以将报表导出到pdf,html.,txt,excel等多种格式。而且,Reporting Server还可以将报表以XML WebService的形式对外发布,很容易地与企业的其他系统进行集成,而且,对于报表的使用者,制作者和管理者,都可以很方便地管理报表。 一:报表制作功能Reporting Services 提供了开始创建传统报表或交互式报表所需要的工具,其中包括带有报表设计向导的图形报表设计器工具。下表描述了其中许多功能:报作制作功能 详细信息 支持广泛的数据源 Microsoft SQL Server Oracle 数据库任何与ODBC 或 OLE DB 兼容的数据源 开放式报表制作选项 Report Designer (使用 Visual Studio .net)基于 XML 的报表定义语言 (RDL)生成 RDL 的第三方工具 灵活的报表设计 自由格式表格矩阵图表使用运行时过滤的参数化报表向下挖掘链接报表 二:报表管理功能Reporting Services 提供了可以在各种不同环境中管理报表的综合功能。 Reporting Services 中包括了 Report Manager,它是一种基于 Web 的报表管理工具。您也可以使用 Reporting Services 的 Web 服务 API 来通过其他工具创建接口。下表描述了其中许多功能。报表管理功能 详细信息 报表信息和元数据 名称描述 数据源和连接信息 数据源类型连接字符串凭证 参数化报表的参数 (默认值、提示值) 管理参数化报表的提示值和默认值 执行属性 按需设定 (实时)多用户共享高速缓存快照 (静态)报表计划 与 SQL Server Agent 集成 报表历史记录 已处理报表的档案副本,用于检查和审核 基于角色的灵活的安全模型可以保护报表和资源,并支持所有这些功能。可以对安全性进行灵活设计,以满足各种广泛的需求;例如,用户有权用自己的参数根据要求运行报表,或有针对性地设计个人的报表订阅。管理员可以将不同报表的内容管理功能分配给特定的人员。三:报表发布功能可以将报表发布到门户网站、用电子邮件发送给用户,或是授予用户 Web 应用程序的访问权,以检索报表。导航和搜索功能可帮助用户查找和运行所需报表。个性化订阅可让用户选择他们喜好的转换格式及时间日程。下表描述了其中许多功能。报表交付功能 详细信息 报表转换选项的范围 Web 格式 (HTML)打印格式 (PDF、TIFF)数据 (Excel、XML、CSV)通过开放式 API 实现的其他格式 灵活的交付选项 日程交付或事件驱动交付个人订阅转换报表或链接的交付数据驱动的订阅 Reporting Service 分为企业版,开发人员版,标准版等不同版本,其中,安装所需要的环境配置,至少为Windows 2000 SP4以上,SQL Server 2000 SP3,MDAC 2.6以上,详细的安装要求参见Reporting Service的安装说明。本文以Microsot Reporting Service 为例,安装在WINDOWS 2000 SP4,VisualStudio 2003 .net,sql server 2000 sp4上,简单介绍如何用Reporting Service制作报表。1) 在安装好Reporting Service后,打开Visual studio .net ,选择新建项目,选择建立商业智能项目,选择新建一个报表项目,命名为reportservice1,再选确定,如下图:2)之后,在解决方案资源管理器中,鼠标右键点选共享数据源,选择"添加新数据源",再选择SQL server服务器所在的位置,并选择使用Northwind数据库,按确定,这样,将建立一个新的共享数据源northwind.rds(当然,可以为该数据源改名),创建共享数据源的目的是为了在今后的报表设计中方便地引用该数据连接。3)在"解决方案资源管理器"中右键单击"报表",指向"添加",然后单击"添加新项"。 在"添加新项"中,单击"报表"。 在"名称"框中,键入"report1.rdl",然后单击"打开"。将打开一个视图,其中包含"数据"、"布局"和"预览"选项卡。如下图所示:4)为了能让报表和数据库连接,必须新建一个数据集。在顶部的"数据集"下拉列表框中,,点选该下拉列表框,选择"新建数据集",此时将显示"数据集"对话框,由于之前我们已经建立了共享数据源,因此,在弹出的窗口中,我们看到已经存在的数据源northwind,也可以对该数据集重新命名,这里我们保持数据集的名dataset1不变,同时看到,可以选择要查询的命令类型是文本还是存储过程,可以在下面的查询字符串中输入SQL语句或者存贮过程。这里我们不做选择,直接按确定,如下图:5)之后,会出现下图的数据设计窗口,我们可以直接输入sql 查询语句:select * from orders,之后按!号按钮,执行该sql 语句。则可以马上看到查询的结果,再按保存,保存该数据集。6)再切换到布局视图,在这里,我们可以看到在左边的面版中,有工具选项面版和字段选择面版。在工具面版中,有各种制作报表的常用工具,如画线,图象,文本框对象等,在字段面版中,列出了当前数据集下的各字段。在中间的布局区域,可以看到中间的矩形区域就是绘制报表的地方,在这个例子中,我们只需要将字段面版中的几个字段,如orderid,customerid,orderdate,拖拉到设计区域矩形框的第二行(第一行是表头,第三行是表尾),并将表头改成适当的文字,如下图:

2010-03-10 0comments 101hotness 0likes mikebai Read all
dev

SQL Server : Convert 的格式与结果

select '101', convert(varchar,getutcdate(),101) from user_info --Result: '05/20/2008'                select '102', convert(varchar,getutcdate(),102) from user_info --Result: '2008.05.20'                select '103', convert(varchar,getutcdate(),103) from user_info --Result: '20/05/2008'                select '104', convert(varchar,getutcdate(),104) from user_info --Result: '20.05.2008'                select '105', convert(varchar,getutcdate(),105) from user_info --Result: '20-05-2008'               

2010-03-08 0comments 105hotness 0likes mikebai Read all
dev

使用DXImageTransform.Microsoft.AlphaImageLoader方法不能预览本地图片的解决方法

    在IE7下面,我们会发现在IE6下工作正常的本地图片预览没有作用了,后来有高手提出了一个解决方案,使用CSS的滤镜方法, 最近发现此方法在升级了浏览器之后还存在问题,通过测试发现,修改浏览器的安全设置可以使本地预览正常,具体的修改方法入下图。 在IE安全选项中,开启上传本地文件路径,显示状态正常,具体原因不明。

2009-12-09 0comments 94hotness 0likes mikebai Read all
dev

IIS环境下配置PHP5+MySql+PHPMyAdmin

虽然主要是做.net开发的,但是,时不时的还要搞一下php,但是,php在windows下的配置,总是走很多弯路,正好前几天又配置了一下,因此总结在这里,做为自己的备忘,也希望给遇到问题的朋友们提供一些帮助。首先说明一下配置环境:操作系统:windows 2003 standard sp2PHP版本:5.2.5MySql版本:5PHPMyAdmin:2.11.6一、首先配置IIS,添加新的服务器扩展输入phpisapi.dll文件的路径,设置扩展状态为允许:二、设置网站属性,主目录为php网站所在的文件夹输入phpisapi.dll文件的路径,注意有些php网站需要把“确认文件是否存在”这个选项去掉的,扩展名写.php:现在php已经可以在iis中运行了。写一个php测试文件1.php,内容如下:<?      phpinfo();?>在浏览器中打开这个页面,如图:三、配置MySql,首先写一个mysql的配置文件,在这里我的配置文件为my.ini,文件中的注释已经很清楚了,在这里就不多说了。四、安装mysql服务,切换到mysql\bin目录,执行如下命令,安装并启动mysql服务,注意my.ini配置文件的路径要写准确五、接下来,配置php5支持mysql,首先修改php文件夹下的php.ini-dist文件,修改为php.ini,用记事本打开,找到mysql选项,把前面的;去掉然后复制php\ext文件夹下的php_mysql.dll和php文件夹下的libmysql.dll复制到c:\windows\system32文件夹:再打开我们的测试页面,这个时候,应该能看到如下所示,表示已经启用mysql:六、最后配置phpmyadmin,复制phpmyadmin到网站根目录,修改phpmyadmin的config.inc.php文件,注意红色注释的内容$cfg['Servers'][$i]['host']          = 'localhost'; // Mysql服务器名或ip地址$cfg['Servers'][$i]['port']          = '';          // MySQL 服务端口,这里留空表示使用默认端口$cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket$cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')$cfg['Servers'][$i]['extension']     = 'mysql';     // mysql扩展$cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection$cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings                                                    // (this user must have read-only$cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"                      &

2009-12-04 0comments 103hotness 0likes mikebai Read all
dev

LAMP相关解释

Apache Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放源碼的網頁伺服器,可以在大多數電腦作業系統 中運行,由於其跨平台和安全性[1]被廣泛使用,是最流行的Web伺服器端軟體之一。它快速、可靠並且可通過簡單的 API擴充,將Perl/Python等直譯器編譯到伺服器中。 link:http://zh.wikipedia.org/wiki/Apache   MySQL MySQL(發音:[?ma? ?s kju? ??l],但也经常读作My-SEQuel)是一個開放源碼的關聯式資料庫管理系統,開發者為瑞典 MySQL AB公司,现为Sun公司的一部分。2009年Oracle宣布收购Sun公司,因此MySQL可能成为Oracle旗下产品。 MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被廣泛地應用在Internet上的中小型網站中。 随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook。非常流行的开源 软件组合LAMP中的M就是指MySQL。 與其他的大型數據庫例如Oracle、IBM DB2、SQL Server等相比,MySQL自有它的不足之處,如規模小、功能有限等, 但是這絲毫也沒有減少它受歡迎的程度。對於一般的個人使用者和中小型企業來說,MySQL提供的功能已經綽綽有 餘,而且由於MySQL是開放源碼軟件,因此可以大大降低總體擁有成本。 目前Internet上流行的網站構架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作為操作系統,Apache作為 Web服務器,MySQL作為數據庫,PHP(部分網站也使用Perl或Python)作為服務器端腳本解釋器。由於這四個軟件都 是開放源碼軟件,因此使用這種方式不用花一分錢就可以建立起一個穩定、免費的網站系統。MySQL加PHP的配對在 互聯網上的應用相比LAMP來說更為常見,並獲得了「動態配對」(Dynamic Duo)的雅號,大部分Blog網站基於的 WordPress系統主要運用MySQL加PHP的配對。除了LAMP之外,用於Solaris、Windows和Mac上的網站構架也分別被稱 為SAMP、WAMP和MAMP。 link:http://zh.wikipedia.org/wiki/MySQL   phpMyAdmin phpMyAdmin 是一個以PHP為基礎,以Web-Base方式架構在網站主機上的MySQL的資料庫管理工具,讓管理者可用 Web介面管理MySQL資料庫。藉由此Web介面可以成為一個簡易方式輸入繁雜SQL語法的較佳途徑,尤其要處理大量 資料的匯入及匯出更為方便。其中一個更大的優勢在於由於phpMyaAdmin跟其他PHP程式一樣在網頁伺服器上執行, 但是您可以在任何地方使用這些程式產生的HTML頁面,也就是於遠端管理MySQL資料庫,方便的建立、修改、刪除 資料庫及資料表。也可借由phpMyAdmin建立常用的php語法,方便編寫網頁時所需要的sql語法正確性。 link:http://zh.wikipedia.org/wiki/PhpMyAdmin Zend Optimizer Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运 行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要 快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反 应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的 盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服 务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间 link:http://zhidao.baidu.com/question/42131647.html

2009-12-04 0comments 108hotness 0likes mikebai Read all
dev

火星人写的javascript脚本

2009-12-02 0comments 100hotness 0likes mikebai Read all
dev

javascript:history.go()和History.back()的区别

<input type=button value=刷新 onclick="window.location.reload()"><input type=button value=前进 onclick="window.history.go(1)"><input type=button value=后退 onclick="window.history.go(-1)"><input type=button value=前进 onclick="window.history.forward()"><input type=button value=后退 onclick="window.history.back()"> 后退+刷新<input type=button value=后退 onclick="window.history.go(-1);window.location.reload()">在C# Web程序中,如为页面按钮写返回上一页代码 this.RegisterClientScriptBlock("E", "<script language=javascript>history.go(-2);</script>"); 其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2。 Response.Write("<script language=javascript>history.go(-2);</script>"); 此处也要写为“-2”。跟直接写脚本的有所不同。history.back()是会上一页i=1history.go(i)去指定的某页如果是history.go(0)那就是刷新这两个属于JS代码,相当于IE的前进、后退功能。具体的用处就要看什么时候需要这个就用上。比如用户注册时的验证是后台验证,不符合要求的时候就可以用这个,可以最大限度保证用户少重复输入数据。例如:载入页面:   function onLoadPage(){     if(event.srcElement.tagName=="SPAN"){         oFrame=top.window.middle.frames[2];         oTxt=event.srcElement.innerText;         switch(oTxt){             case "前 进":                 oFrame.history.go(1);             case "后 退":                 oFrame.history.back();             case "刷 新":                 oFrame.location.reload();         }     }} 打开一个jsp页面,肯定是用客户端脚本进行刷新了。Javascript刷新页面的几种方法:1 history.go(0)2 location.reload()3 location=location4 location.assign(location)5 document.execCommand('Refresh')6 window.navigate(location)7 location.replace(location)8 document.URL=location.href

2009-11-05 0comments 99hotness 0likes mikebai Read all
dev

Access 类型转换函数

每个函数都可以将表达式 (表达式:算术或逻辑运算符、常数、函数和字段名称、控件和属性的任意组合,计算结果为单个值。表达式可执行计算、操作字符或测试数据。)强制转换为特定的数据类型 (数据类型:决定字段可拥有的数据类型的字段特征。数据类型包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默认)。)。 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng(expression) CSng(expression) CStr(expression) CVar(expression) 必选的 expression 参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。)可以为任何字符串表达式 (字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函数;字符串字面值、常量、变量或 Variant。)或数值表达式 (数字表达式:计算结果为数字的任何表达式。表达式可以是变量、常数、函数和运算符的任意组合。)。 返回类型 函数名称决定返回类型,如下所示: 函数 返回类型 expression 参数的范围 CBool Boolean  任何有效的字符串或数值表达式。 CByte Byte  0 到 255。 CCur Currency  -922,337,203,685,477.5808 到 922,337,203,685,477.5807。 CDate Date  任何有效的日期表达式。 CDbl Double  对于负值,-1.79769313486231E308 到 -4.94065645841247E-324;对于正值,4.94065645841247E-324 到 1.79769313486232E308。 CDec Decimal  对于整数(即没有小数的数字),+/-79,228,162,514,264,337,593,543,950,335。对于具有 28 位小数的数字,值域范围是 +/-7.9228162514264337593543950335。可能的最小非零数字为 0.0000000000000000000000000001。 CInt Integer  -32,768 到 32,767;小数部分被四舍五入。 CLng Long  -2,147,483,648 到 2,147,483,647;小数部分被四舍五入。 CSng Single  对于负值,-3.402823E38 到 -1.401298E-45;对于正值,1.401298E-45 到 3.402823E38。 CStr String  CStr 的返回值取决于 expression 参数。 CVar Variant  对于数字,与双精度型的值域范围相同。对于非数字值,与 String 的值域范围相同。 注解 如果传递给该函数的 expression 位于要转换为的目标数据类型的值域范围之外,则将发生错误。 通常,可以在代码中使用数据类型转换函数,以表明某个操作的结果应表示为特定数据类型而非默认的数据类型。例如,使用 CCur 在通常会出现单精度、双精度或整型运算的地方强制使用货币运算。 应该使用数据类型转换函数而不是 Val 来提供数据类型之间国际认可的转换。例如,当使用 CCur 时,不同的小数点、不同的千位分隔符以及各种货币选项都会根据计算机的区域设置正确识别。 当小数部分恰好为 0.5 时,CInt 和 CLng 始终都会将其舍入到最接近的偶数。例如,0.5 舍入到 0,而 1.5 舍入到 2。CInt 和 CLng 与 Fix 和 Int 函数不同,后者会将数字的小数部分截断,而不会对其进行舍入。另外,Fix 和 Int 会始终返回与传入类型相同类型的值。 可以使用 IsDate 函数确定 date 是否可以转换为日期或时间。CDate 可识别日期文本和时间文本,以及处于可接受的日期范围内的某些数字。将数字转换为日期时,整数部分将被转换为日期。数字的任何小数部分都将被转换为一天中的时间(从午夜 12 点开始计算)。 CDate 将根据系统的区域设置 (区域设置:对应于给定语言和国家/地区的一组信息。)识别日期格式。如果采用可识别的日期设置之外的其他格式提供日期值,则可能无法确定正确的年、日、月顺序。此外,如果长日期格式中还包含星期字符串,也不能识别此格式。 CVDate 函数也提供了与 Visual Basic 早期版本的兼容性。CVDate 函数的语法与 CDate 函数的语法相同;不过,CVDate 会返回一个 Variant 值(其子类型为 Date)而不是实际的 Date 类型。由于目前存在一个固有的 Date 类型,因此已不再需要 CVDate 了。可以将表达式转换为 Date,然后将其赋值给 Variant,从而达到相同的效果。此技术与所有其他固有类型到其对应的 Variant 子类型的转换一致。  注释    CDec 函数不会返回离散数据类型;相反,它会始终返回一个其值已转换为 Decimal 子类型的 Variant。 示例 注释   以下示例演示了此功能在 Visual Basic for Applications (VBA) 模块中的使用。有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个词条。 CBool 函数此示例使用 CBool 函数将表达式转换为 Boolean 值。如果表达式的求值结果是一个非零值,CBool 将返回 True;否则,它将返回 False。 Dim A, B, CheckA = 5: B = 5    ' Initialize variables.Check = CBool(A = B)    ' Check contains True. A = 0    ' Define variable.Check = CBool(A)    ' Check contains False.     CByte 函数此示例使用 CByte 函数将表达式转换为 Byte 值。 Dim MyDouble, MyByteMyDouble = 125.5678    ' MyDouble is a Double.MyByte = CByte(MyDouble)    ' MyByte contains 126.     CCur 函数此示例使用 CCur 函数将表达式转换为 Currency 值。 Dim MyDouble, MyCurrMyDouble = 543.214588    ' MyDouble is a Double.MyCurr = CCur(MyDouble * 2)    ' Convert…

2009-10-31 0comments 98hotness 0likes mikebai Read all
dev

html中跨frame显示菜单

多frame现实的时候,一个页面的弹出菜单会被其他frame遮盖住 解决方案:http://www.aspnetexpert.com/demos/Menu/ClientProgramming/CrossFrame/default.aspx http://topic.csdn.net/t/20040922/16/3398864.html

2009-10-20 0comments 106hotness 0likes mikebai Read all
dev

网页下拉菜单

<!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>css菜单演示</title><style type="text/css"><!--* { margin:0; padding:0; border:0;}body { font-family: arial, 宋体, serif; font-size:12px;}#nav { line-height: 24px; list-style-type: none; background:#666;}#nav a { display: block; width: 80px; text-align:center;}#nav a:link { color:#666; text-decoration:none;}#nav a:visited { color:#666; text-decoration:none;}#nav a:hover { color:#FFF; text-decoration:none; font-weight:bold;}#nav li { float: left; width: 80px; background:#CCC;}#nav li a:hover { background:#999;}#nav li ul { line-height: 27px; list-style-type: none; text-align:left; left: -999em; width: 180px; position: absolute;}#nav li ul li { float: left; width: 180px; background: #F6F6F6;}#nav li ul a { display: block; width: 180px; w\idth: 156px; text-align:left; padding-left:24px;}#nav li ul a:link { color:#666; text-decoration:none;}#nav li ul a:visited { color:#666; text-decoration:none;}#nav li ul a:hover { color:#F3F3F3; text-decoration:none; font-weight:normal; background:#C00;}#nav li:hover ul { left: auto;}#nav li.sfhover ul { left: auto;}#content { clear: left;}--></style><script type=text/javascript>function menuFix() { var sfEls = document.getElementById("nav").getElementsByTagName("li"); for (var i=0; i<sfEls.length; i++)  {  sfEls[i].onmouseover=function()   {   this.className+=(this.className.length>0? " ": "") + "sfhover";  }  sfEls[i].onMouseDown=function()   {   this.className+=(this.className.length>0? " ": "") + "sfhover";  }  sfEls[i].onMouseUp=function()  {   this.className+=(this.className.length>0? " ": "") + "sfhover";  }  sfEls[i].onmouseout=function()   {   this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");  } }}window.onload=menuFix;</script></head><body><ul id="nav">  <li><a href="#">产品介绍</a>    <ul>      <li><a href="#">产品一</a></li>      <li><a href="#">产品一</a></li>      <li><a href="#">产品一</a></li>      <li><a href="#">产品一</a></li>      <li><a href="#">产品一</a></li>      <li><a href="#">产品一</a></li>    </ul>  </li></ul></body></html>

2009-10-19 0comments 96hotness 0likes mikebai Read all
1…2122232425

Recent Posts

  • c# winform适配高dpi
  • com.microsoft.sqlserver.jdbc.SQLServerException “trustServerCertificate”属性设置为“false”,但驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server建立安全连接
  • java -cp 用法介绍
  • HTML 容器元素
  • MVC的cshtml的介绍

Recent Comments

No comments to show.

COPYRIGHT © 2025 mikebai.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang