??xml version="1.0" encoding="utf-8" standalone="yes"?>
一天,正走在\上,手机响了Q话{里是个E嫩的小奛_的声韻I“爸爸,你快回来吧,我好想你啊!”凭直觉Q我知道又是个打错的电话Q因为我没有奛_Q只有个6岁的独生子。这q头发生此类事情也实在是不为奇。我没好气的说了壎ͼ“打错了Q”便挂断了电话?nbsp;
接下来几天里Q这个电话竟时不时地打过来,搅得我心烦,有时态度_暴的回l,有时q脆不接?nbsp;
那天Q这个电话又一ơ次打来Q与往怸同的是,在我始终未接的情况下Q那边一直在坚持不懈的拨打着。我l于耐住性子开始接听,q是那个奛_有气无力的声韻I“爸爸,你快回来吧,我好想你啊!妈妈说这个电话没打错Q是你的手机LQ爸爸我好疼啊!妈妈说你工作忙,天天都是她一个h在照我Q都累坏了,爸爸我知道你很辛苦,如果来不了,你就在电话里再亲妞妞一ơ好吗?”孩子天真的要求不容我拒l,我对着话筒响响地吻了几下,听到孩子那Ҏ断箋l的声音Q“谢谢……爸爸,我好……高_好……幸……?nbsp;
在我逐渐对这个打错的电话发生兴趣Ӟ接电话的不是奛_而是一个低沉的奛_Q“对不vQ先生,q段日子一定给您添了不麻烦,实在对不P我本惛_理完事情q您打电话道歉的。这孩子的命很苦Q生下来得了骨癌,她爸怸久前又……被一R夺M生命Q我实在不敢把这个消息告诉她Q每天的化疗Q时时的疼痛Q已l把孩子折磨得够可怜的了。当疼痛最让她难以忍受的时候,她嘴里L呼喊着以前l常鼓励她要坚强的爸爸,我实在不忍心看孩子这P那天随便编了个手机L……?nbsp;
“那孩子现在怎么样了Q”我q不及待地追问?nbsp;
“妞妞已l走了,您当时一定是在电话里M她,因ؓҎ微笑着走的Q走时手里还紧紧攥着那个能听到‘爸爸’声音的手机……?nbsp;
不知什么时候,我的眼前已模p一片…?nbsp;
]]>
1、下载SQL Server 2000 driver for JDBC
SQL Server 2000 Driver For JDBC Downloads
该驱动截止目前有四个版本Q徏议下载最新的SP3版?
该驱动安装成功后Q请安装目录下的lib目录下的三个.jar文g加到CLASSPATH中;如果你用的是JBuilder或EclipseQ将q三个文件根据IDE的提C加到工E中也可?
2、升U你的SQL Server 2000Qؓ其打上最新的补丁?
q一步可能不是必需的,因操作系l环境而定Q在不打补丁的情况,有时可以正常q接Q有时却不能Q所以徏议还是安装最新的SQL Server 2000补丁QSP4Q和JDBC驱动QSP3Q?
如果你的E序在运行时提示QError establishing socketQ一般情况下Q打上SQL Server 2000的补丁就可解冟?
3、驱动的加蝲Ҏ
在徏立连接之前,要先加蝲SQL Server 2000 JDBC的驱动,代码形式如下Q?
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
在此注意QforNameҎ的参数字W串必须完全相同于以上内容,大小写是区分的,其实q个串就是驱动类的完整名Uͼ包名+cd?
4、获得一个连?
在操作数据库之前Q要先获得与数据库的一个连接,使用如下代码格式Q?
DriverManager.getConnection(q接字符? d用户? d密码);
例:
DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs", "sa", "");
在此处关键的是连接字W串的内容,localhost部分x务器的名字,可以更改Q?433部分为SQL Server使用的端口号Q根据实际情况修改即可;DatabaseName即ؓ要连接的数据库的名字Q在此注意DatabaseName之前的是分号Q而不是冒受?
5、代码实?
// 导入Java SQL包,q接数据库必需Q?
import java.sql.*;
public class TestDB {
public static void main(String[] args) {
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs";
String userName = "sa";
String userPwd = "";
Connection dbConn
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
System.out.println("Connection Successful!");
}
Catch (Exception e) {
e.printStackTrace();
}
}
}
6、可能出现的问题
如果以上的代码运行后Q输?Connection Successful!"Q那׃表一切正常,q接数据库成功,你可以进行Statement、ResultSet的操作了Q反之的话,一定是出现了相应的异常?
如果提示错误"Error establishing socket"Q请Ҏ之前的说明安装相应的SQL Server 2000补丁卛_?
如果提示"ClassNotFoundException"Q那一定是 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 该段代码拼写有误Q或者是SQL Server 2000 Driver For JDBC Lib目录下的三个.jar文g未加入到CLASSPATH中?
![]() ?. 抽象工厂模式的类囑֮? |
![]() ?. 抽象工厂模式的位? |
![]() ?. 抽象工厂模式应用于小花果园系l中。三U不同的背景颜色可以区分工厂c,蔬菜c?W一产品?Q和水果cȝcd(W二产品? |
package com.javapatterns.abstractfactory; public interface Gardener {} |
package com.javapatterns.abstractfactory; public class NorthenGardener implements Gardener { public VeggieIF createVeggie(String name) { return new NorthernVeggie(name); } public FruitIF createFruit(String name) { return new NorthernFruit(name); } } |
package com.javapatterns.abstractfactory; public class TropicalGardener implements Gardener { public VeggieIF createVeggie(String name) { return new TropicalVeggie(name); } public FruitIF createFruit(String name) { return new TopicalFruit(name); } } |
package com.javapatterns.abstractfactory; public interface VeggieIF {} |
package com.javapatterns.abstractfactory; public class NorthernVeggie implements VeggieIF { public NorthernVeggie(String name) { this.name = name; } public String getName(){ return name; } public void setName(String name){ this.name = name; } private String name; } |
package com.javapatterns.abstractfactory; public class TropicalVeggie implements VeggieIF { public TropicalVeggie(String name) { this.name = name;} public String getName(){ return name; } public void setName(String name){ this.name = name; } private String name; } |
![]() ?. 抽象工厂模式应用于微型计机生pȝ中。两U不同的背景颜色可以区分两类产品族,及其对应的实工厂c? |
![]() ?. 三种不同的背景颜色可以区分抽象工厂类Q两cM品族Q及其对应的实工厂类。ComputerProducer cd中类名ؓ斜体表明该类是抽象的Q而getProducer()的下划线表明该方法是静态的 |
package com.javapatterns.abstractfactory.exercise1; public class ComputerProducer { public static ComputerProducer getProducer(String which) { if (which.equalsIgnoreCase("PC")) { return new PCProducer(); } else (which.equalsIgnoreCase("Mac")) { return new MacProducer(); } } } |
![]() ?. 三种不同的背景颜色可以区分抽象工厂类Q两cM品族Q及其对应的实工厂类。ComputerProducer cd中类名ؓ斜体表明该类是抽象的Q而getProducer()的下划线表明该方法是静态的。MacProducer ?PCProducer 的构造子是私有的Q因此这两个cd自己将自己实例化? |
package com.javapatterns.abstractfactory.exercise3; abstract public class ComputerProducer { public static ComputerProducer getProducer(String which) { if (which.equalsIgnoreCase("PC")) { return PCProducer.getInstance(); } else (which.equalsIgnoreCase("Mac")) { return MacProducer.getInstance(); } } } |
package com.javapatterns.abstractfactory.exercise3; public class MacProducer extends ComputerProducer { private MacProducer() { } public CPU createCPU() {} public RAM createRAM() {} private static final m_MacProducer = new MacProducer(); } |
package com.javapatterns.abstractfactory.exercise3; public class PCProducer extends ComputerProducer { private PCProducer() { } public CPU createCPU() {} public RAM createRAM() {} private static final m_PCProducer = new PCProducer(); } |