入门篇:Javascript
作者:matrixkey 日期:2010-07-15
在上一篇日志里,提到许多专业技术名称。而其实,熟悉它们并不难,只要你有了一定的编程思想,学习新的技术非常容易入门。
今天介绍Javascript。
为了减少多余的工作量,这里不再赘述各种概念。
首先,Javascript是网络的脚本语言(脚本语言是一种轻量级的编程语言)。
它不同于Java,Java(由太阳微系统公司开发)很强大,同时也是更复杂的编程语言,就像同级别的 C 和 C++。
Javascript在HTML页面中的位置
位于 head 部分的脚本:
当脚本被调用时,或者当事件被触发时,脚本就会被执行。当你把脚本放置到 head 部分后,就可以确保在需要使用脚本之前,它已经被载入了。
- <html>
- <head>
- </head>
- <body>
- <script type="text/javascript">
- ....
- </script>
- </body>
- </html>
位于 body 部分的脚本:
在页面载入时脚本就会被执行。当你把脚本放置于 body 部分后,它就会生成页面的内容。
- <html>
- <head>
- </head>
- <body>
- <script type="text/javascript">
- ....
- </script>
- </body>
- </html>
知道了放置Javascript的位置之后,我们可以体验一下简单的Javascript!
- <html>
- <head>
- </head>
- <body>
- <script type="text/javascript">
- document.write("你好,我是Matrixkey!");
- </script>
- </body>
- </html>
根据 Javascript 标准,分号是可选的,浏览器把行末作为语句的结尾。
不过大多数人都认为在每行语句的结尾加上一个分号,是一个好的编程习惯。
Javascript 注释
和C#一样,单行的注释以 // 开始,多行注释以 /* 开头,以 */ 结尾。
- <html>
- <head>
- </head>
- <body>
- <script type="text/javascript">
- // 这行代码输出Matrixkey:
- document.write("Matrixkey");
- /* 第一行输出1798
- 第二行输出4772 */
- document.write("<p>This is a paragraph</p>");
- document.write("<p>This is another paragraph</p>");
- </script>
- </body>
- </html>
七色花 — 三级联动:C#独立实现(更新完毕)
作者:matrixkey 日期:2010-04-14
凌晨3点54分。
刚刚发过一遍,很傻X地消失了。
整个晚上,完成了工作指导报告和三级联动。昨天跟李老头没白聊啊,教授果然是有墨水的,经他一提点,居然真拿下了三级联动,纯C#版本哦。虽然无法实现无刷新,但依旧很爽。陈可哇,上学期我们的作品就差一个三级联动,不然就满分了。
先放图,睡觉,白天醒来补日志。武侠半夜醒来看视频版唐朝兴与亡,武媚娘……

****************************************俺醒了****************************************
省市区数据库文件日志结尾会放出。现在补日志。
3个DropDownList控件分别对应省市区……
******************************哈哈大笑庆祝IIS终于完整******************************
在写完“3个DropDownList控件分别对应省市区”这句后,准备贴上相关HTML代码。发现PJBlog的代码高亮一如既往地很2B,难看以及灵活性低得令人发指。于是发生了以下事件。
发现PJBlog系统原代码高亮太2太难看 ===》 想下个代码高亮又好看的插件
可能更新的PJBlog版本可以顺手点 ===》 去官网查看PJBlog版本有无更新
果然有更新,看了回复更新后出事故者不少 ===》 不敢随便把更新文件覆盖到服务器
想在本地先更新试试 ===》 自大2重装系统后IIS一直无法安装成功
利用IIS包重装IIS ===》 不成功
看到“必须在IIS详细信息里选中FromPage组建”的建议 ===》 尝试,不成功2
坚信是RP问题,卸载重装 ===》 尝试,不成功3
照着一帖子设置并不成功的IIS信息 ===》设置完成,测试,不成功4
看到“检查world wild web publishing 服务是否启动”的建议 ==》没启动,尝试启动,失败
搜索无法启动原因 ===》 找到罪魁祸首
卧了个槽,罪魁祸首是360。准确地说,是曾经用360自动更新补丁时安装的一个XP安全补丁:KB939373补丁。它会强制禁用world wild web publishing 服务。
删除它,测试IIS,成功。
还记得为什么要装IIS不?为了在本地尝试更新PJBlog,希望代码高亮可以完美些。
用FlashFXP下载服务器所有文件,遇到下载高峰,频繁断开连接。
……
……
等好了再说。生活就是这样充满了挑战啊[127]
****************************************随便写几句****************************************
又是一个忙到凌晨3点多的夜晚。
空闲时一天能谁18小时,兴致上来时两天都不睡。
这样的生活会很没有安全感吧,对我而言,有更多的存在感。
凌晨3点半,在本地测试完对PJBlog的版本更新和测试后,终于放心地在服务器端更新PJBlog版本至V3.2.8.352 。
梦想成真哦,最新的版本做了很多对BUG的修正,更要紧的则是人性化的完善,比如代码高亮,不仅简便了,而且漂亮了!
****************************************三级联动正文****************************************
3个DropDownList控件,分别用来绑定省,市,区。
主要特别注册的是,因为当选中“省”,要触发加载“市”的事件,选中“市”则触发加载“区”事件,所以“省”和“市”下拉控件的AutoPostBack属性必须设置为True。
- <td>
- <asp:DropDownList ID="Sheng" runat="server" AutoPostBack="True" OnSelectedIndexChanged="Sheng_SelectedIndexChanged">
- </asp:DropDownList>
- 省
- <asp:DropDownList ID="Shi" runat="server" AutoPostBack="True" OnSelectedIndexChanged="Shi_SelectedIndexChanged">
- </asp:DropDownList>
- 市
- <asp:DropDownList ID="Qu" runat="server">
- </asp:DropDownList>
- 区
- </td>
分别为加载省,加载市,和加载区编写绑定事件。
- /// <summary>
- /// 三级联动,绑定省
- /// </summary>
- public void mat()
- {
- myconn.Open();
- string sql_sheng = "select name from province";
- SqlCommand cmd = new SqlCommand(sql_sheng,myconn);
- SqlDataReader dr = cmd.ExecuteReader();
- while(dr.Read())
- {
- Sheng.Items.Add(dr["name"].ToString());
- }
- dr.Close();
- myconn.Close();
- }
- /// <summary>
- /// 省选定,加载市
- /// </summary>
- public void rix()
- {
- string sql_shi = "select city.code,city.name from city,province where province.code = city.provinceID and province.name = '"+Sheng.SelectedItem.Text+"'";
- SqlCommand cmd = new SqlCommand(sql_shi,myconn);
- SqlDataReader dr = cmd.ExecuteReader();
- while(dr.Read())
- {
- Shi.Items.Add(dr["name"].ToString());
- }
- dr.Close();
- }
- /// <summary>
- /// 市选定,加载区
- /// </summary>
- public void key()
- {
- string sql_qu = "select area.name from area,city where city.code = area.cityid and city.name = '" + Shi.SelectedItem.Text + "'";
- SqlCommand cmd = new SqlCommand(sql_qu, myconn);
- SqlDataReader dr = cmd.ExecuteReader();
- while (dr.Read())
- {
- Qu.Items.Add(dr["name"].ToString());
- }
- dr.Close();
- }
设计加载省,市,和区的时间先后顺序。注意,两行“//标记”的代码,是为了防止“省”被改变后,“市”控件上原先有的数据依旧存在。例如,已经选定 浙江省,杭州市,下沙区;当把浙江省修改成北京市,在“市”控件中,“杭州市”仍存在。加上这两行代码,这个问题得到解决。
- /*在页面加载时,从数据库载入省列表到“省”下拉控件*/
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- mat();
- }
- }
- /*在选定“省”之后,即“省”被改变后*/
- /*从数据库载入市列表到“市”下拉控件*/
- protected void Sheng_SelectedIndexChanged(object sender, EventArgs e)
- {
- Shi.Items.Clear(); //标记
- myconn.Open();
- rix();
- myconn.Close();
- }
- /*在选定“市”之后,即“市”被改变后*/
- /*从数据库载入区列表到“区”下拉控件*/
- protected void Shi_SelectedIndexChanged(object sender, EventArgs e)
- {
- Qu.Items.Clear(); //标记
- myconn.Open();
- key();
- myconn.Close();
- }
排版有点乱哈,将就着看了。附上数据库文件。
点击下载此文件
七色花 — 数据库:存储过程的导出与导入
作者:matrixkey 日期:2010-04-02
今天被小丫头问到地址,忽然记起几天前欠下的日志。于是来补。
我们知道可以用导入导出方式,在两个数据库之间移动表的一切,包括肉体和灵魂。这里要介绍的存储过程的导入与导出,其实跟单单导入表的肉体,也就是表结构的方法,是一致的。
右键单击源数据库,“任务”,“生成脚本”,如下图:

在“选择数据库”对话框中,选定你的源数据库,下一步。
在“选择脚本选项”对话框中,需要注意的地方是,如果你要执行这段脚本的SQL Server是2005版本的,那么在“为服务器版本编写脚本”选项中选择“SQL Server 2005”。如下图:
[img]http://ww...
七色花 — 更精确更合理:字段的数据类型选择
作者:matrixkey 日期:2010-02-22
其实我们可以不必在这个问题上多花时间,但从合理性和完美性的角度来说,作为网站制作者之一,你肯定不愿意有人用诸如“草泥马”“曾哥”做为密码,一方面是数据管理上的简便,另一方面是数据的安全性和稳定性。
SQL SERVER 常用数据类型详解
1. 字符串数据类型
char
此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定;如未指定,默认为char(1)。每个字符占用1byte存储空间。
nchar
此数据类型可存储1~4000个定长Unicode字符串,字符串长度在创建时指定;如未指定,默认为nchar(1)。每个字符占用2bytes存储空间。
varchar
此数据类型可存储最大值为8000个字符的可变长字符串。可变长字符串的最大长度在创建时指定,如varchar(50),每个字符占用1byte存储空间。
nvarchar
此数据类型可存储最大值为4000个字符可变长Unicode字符串。可变长Unicode字符串的最大长度在创建时指定,如nvarchar(50),每个字符占用2bytes存储空间。
text
此数据类型可存储最大值为2147483647个字符的变长文本,并且无需指定其初始值,每个字符占用1byte存储空间,一般用来存储大段的文章。text数据类型实际上是一个Large Object数据类型,默认情况下,此类型的数据不是存储在数据行内,而是存储于独立的Large Object数据页上。另外,text数据类型不能做为函数、存储过程或触发器中的参数来用。
ntext
同text数据类型,只不过存储的是最大值为1073741823个字符的Unicode变长文本,每个字符占用1byte存储空间。
2. 数值数据类型
bit
此数据类型存储值为0或1的二进制字段。占用1byte存储空间。
tinyint
此数据类型存储0~255的整数,占用1byte存储空间。
smallint
此数据类型存储-32768~32767的整数,占用2bytes存储空间。
int
此数据类型存储-2147483648~2147483647的整数,占用4bytes存储空间。
bigint
此数据类型存储-9223372036854775808~9223372036854775807的整数,占用8bytes存储空间。
decimal/numeric
这两个数据类型功能相同,均为存储精度可变的浮点值。但推荐采用decimal,因其存储的数据“更有说明性”。此种数据类型由两个值来确定decimal(p,s),p为精度,s为标量,如decimal(3,2),其中数值2为小数的位数,那么decimal(3,2)可用来存储如1.28这样的浮点数。此种数据类型占用的存储空间取决于精度值p。p为1~9,占用5bytes存储空间;p为10~19,占用9bytes存储空间;p为20~28,占用13bytes存储空间;p为29~38,占用17bytes存储空间。
float
此数据类型存储1~53的可变精度的浮点值,精度表示为float(n),n表示科学记数法的尾数,取值范围为-1.79E+308~-2.23E-308的负数和2.23E-308~1.79E+308的正数。其存储空间由精度值决定,n为1~24,占用4bytes存储空间;n为25~53,占用8bytes存储空间。
money
此数据类型存储-922337203685477.5808~922337203685477.5807的货币值,精确到小数后4位。占用8bytes存储空间。
3. 日期和时间数据类型
smalldatetime
此数据类型存储从1900年1月1日到2079年6月6日的日期。占用4btyes存储空间。
datetime
此数据类型存储从1753年1月1日到9999年12月31日的日期。占用8bytes存储空间。
4. 二进制数据类型
binary
此数据类型存储1~8000个字符的二进制数据,其指定长度即为占用的存储空间。
varbinary
此数据类型存储可变长的二进制数据,可在创建时指定其具体长度,也可不指定。
其中,蓝色部分是我们最常用的几种数据类型。如果你想偷懒,在一般情况下,只需要datetime,money,varchar三种数据类型。但是为了降低页面设计过程中验证代码的数量,规定数据类型是很不错的方法。
由于数据库刚建立,在不断完善中,现在还不能完全将各个表的字段和数据类型公布给大家。一点点更新吧。
七色花 — SQL Server2005下载与安装
作者:matrixkey 日期:2010-02-22
近期会放出部分做毕业设计过程中遇到的问题,希望对大家也有所帮助。
——Matrixkey
由于毕业设计课题要求中对数据库管理系统有要求,不得不放弃一直使用的sql server2000,准备下载2005的安装文件。
1.州官只会放火
为了防止机子中毒,自然不会百度2005随便找个页面下载。起先我很耐心地在中国微软官网寻找2005的下载文件,搜索之后找到名为Microsoft SQL Server 2005 Express Edition的项目,一个容量57.3MB的可执行安装文件。安装时基本无脑下一步,直至完成。出现的问题是安装非常不完全。经检查,居然只安装了数据引擎,其他任何组件一个都没安装上。结果就是你可以对sql server2005部分配置进行设置,可你永远也打不开sql server2005。
2.群众的力量
我尝试在天空,非凡等著名软件下载的网站中搜索,无奈只找到一些升级文件。最终目标锁定在CSDN上。这相当于IT中的NGA啊,精华相当多。第一次搜索就找到了一个可靠的并且经验证可用的下载点。
【SQL Server2005简体中文开发版下载】
PS,开发版比较适合学习用,并且几乎拥有企业版的所有功能,简易版本就是EXPRESS版,少很多功能。所以还是开发版用起来比较好 兼容的系统也比较多。
3.逐渐碰到的安装问题
解压密码:www.mofang.net。双击文件夹SQL Server x86\Servers下的setup.exe进行安装部署。一个超过1G的软件,可不会像QQ那样安装起来顺利得1B。对我碰到的问题如下汇总
·“性能计数器注册表配置单元一致性”检查失败
由此衍生出的问题,也就是我们所要解决的问题是:如何在SQL Server 2005中为安装程序增加计数器注册表项值。这里不得不喷一喷Microsoft的help文档,很多时候答非所问。
解决方法如下:
计数器配置信息保存在注册表[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]中
1. 启动注册表编辑器(怎么打开?Ctrl+A)在桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。
2. 定位到以下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:0000566a(22122) (这个值根据不同的机器各不相同,不是固定值)
"Last Help"=dword:0000566b(22123) (这个值根据不同的机器各不相同,不是固定值)
Perflib下存在两个子项目
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\004]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
如果你安装的是中文版,务必保证004下Counter和Help的最大值分别与Perflib下的Last Counter值和Last Help值相同;如果是英文版,务必保证009下Counter和Help的最大值分别与Perflib下的Last Counter值和Last Help值相同。
·“无法在COM+目录中安装和配置程序”
安装到最后一步时提示:
无法在COM+目录中安装和配置程序集,D:\program files\microsoft SQL Server\90\NotificationServices\9.0.242\Bin\microsoft.sqlserver,notificationservices.dll。错误:-2146233087
错误消息:Unknown error 0x80131501
错误说明:事务管理器可用。(异常来自HRESULT:0x8004D01B)
这时候可以暂停安装,不要点击中止、忽略,也不要点击取消。Help文档又一次忽悠了我,多次重装COM+均无效。
最终按以下步骤解决问题:
1、使用cmd执行 停止MSDTC服务:net stop msdtc (如果你没开启该服务,可直接执行2)
2、使用cmd执行 卸载MSDTC服务:msdtc -uninstall
3、使用cmd执行 重新安装MSDTC服务:msdtc -install
4、在服务中,启动Distributed Transaction Coordinator服务
继续安装,直至完成。最后的配置过程大约需要半小时。
实验13(文件更新)
作者:matrixkey 日期:2009-06-12
回寝室折腾到10点
丁帅老师布置的实验13所要求的功能全部完成
至此,深刻体会了公共类和CONFIG文件的牛B之处
我靠要是晓得还能这样写程序我还至于傻傻一句一句琢磨么
再次膜拜,并且!
浅显地认识到了写代码之前流程和结构的规划的重要性
什么叫面向对象?
李三,李二,李曼祖孙三代
面向对象就是修改了李三的姓氏比如改成奥特
李二,李曼自动变成奥特二,奥特曼
可见公安局户籍管理工作全是面向过程操作啊
改了爷爷的姓氏,还得改老爸和儿子的姓氏
恩,今天这个比喻很有模范作用

不断地忙,忙到累忙到困,累了困了就睡觉。
不思考,不发呆,不给上帝发笑的机会。
也不给自己痛的机会。
PS,经蒋梁提醒,订单管理部分界面不符要求,重做上传
蹬蹬蹬蹬,主机搬家日
作者:matrixkey 日期:2009-05-11
输入http://www.matrixkey.com.cn直接进入blog并不是我想要的
可是江郎才尽啊 设计首页不是我专长 那么就藏起来得了
现在不一样了!
我有了一个首页的想法和实例
并且已经构建好了相关的数据库
让我自己都大跌眼镜的是 首页并不只是一个单一的页面
它是一个小网站 这点我之前一直绝没有料到过
甚至为了能让这个用ASP.NET开发的网站正常运作
我将原ASP主机换成了ASP.NET主机 我的妈呀 又一笔银子流出
当然这也是种学习 我终于理解了为什么前两天我一直不能让小网站运转正常
而不得不去申请一个试用版的牛B主机进行测试
ASP主机只能支持JavaSript以及VBSript客户端脚本,支持ASP程序以及Access数据库
而ASP.NET主机则支持所有...







