摘要: 首先,确认utl_smtp工具包已经安装在你的系统里(当然是在SYS架构里)。如果你还没有安装这个工具包,可以在你的ORACLE_HOMERDBMSadmin文件夹中找到utlsmtp.sql脚本。你还需要utl_tcp包;同样的,如果你发现utl_tcp包还没有加载,也可以从跟utlsmtp.sql脚本相同的路径找到utltcp.sql脚本。最后,你还需要知道你的企业SMTP服务器的URL。(注意,下面的例子不适用于对SMTP进行了安全设置的服务器,如Gmail)CREATE OR REPLACE PROCEDURE send_mail (p_sender IN VARCHAR2, p_r. 阅读全文
posted @ 2013-10-07 21:54 一一二二 阅读(2276) 评论(0) 推荐(0) 编辑
摘要: 火龙果软件 发布于 2013-9-2,作者 张传波 阅读全文
posted @ 2013-09-10 20:21 一一二二 阅读(741) 评论(1) 推荐(1) 编辑
摘要: 类图的概念一、概述类图(Class Diagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。类图是定义其他图的基础,在类图基础上,可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特性。类图包括7个元素:类(Class)、接口(Interface)、协作(collaboration)、依赖关系(Dependency)、泛化关系(Generalization)、关联关系(Association)以及实现关系(Realization)。二、类类定义了一组有着状态和行为的对象。其中,属性和关联用来描述状态。属性通常用没有身份的数据值表示,如数字和字符串 阅读全文
posted @ 2013-09-08 14:13 一一二二 阅读(21548) 评论(0) 推荐(0) 编辑
摘要: 行列转换等经典SQL语句1.--行列转换原表: 姓名 科目 成绩 张三语文80张三 数学 90 张三 物理 85 李四语文 85 李四物理 82 李四英语 90李四政治 70 王五英语 90转换后的表: 姓名 数学 物理 英语 语文 政治 李四082908570 王五 0090 0 0 张三 90 850 80 0实例:create table cj --创建表cj( ID Int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 Name Varchar(50), Subject Varchar(50), Result Int, prima... 阅读全文
posted @ 2013-06-27 22:58 一一二二 阅读(238) 评论(0) 推荐(0) 编辑
摘要: Oracle行列转换小结 - Oracle - 红黑联盟 http://www.2cto.com/database/201108/100792.html 阅读全文
posted @ 2013-06-27 22:53 一一二二 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。同步调用就是你 喊 你朋友吃饭 ,你朋友在忙 ,你就一直在那等,等你朋友忙完了 ,你们一起去。 在单线程方式下,计算机是一台严格意义上的冯·诺依曼式机器,一段代码调用另一段代码时,只能采用同步调用,必须等待这段代码执行完返回结果后,调用方才能继续往下执行。有了多线程的支持,可以采用异步调用,调用方和被调方可以属于两个不同的线程,调用方启动被调方线程后,不等对方返回结果就继续执行后续代码。被调方执行完毕后,通过某种手段通知调用方:结果已经出来,请酌情处理。 因此,有异步调用,就一定存在多线程,只是线程 阅读全文
posted @ 2013-06-20 21:44 一一二二 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 在多线程编程中,我们经常要在工作线程中去更新界面显示,而在多线程中直接调用界面控件的方法是错误的做法,Invoke 和 BeginInvoke 就是为了解决这个问题而出现的,使你在多线程中安全的更新界面显示。正确的做法是将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke 去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会。而所谓的“一面响应操作,一面添加节点”永远只能是相对的,使 UI 线程的负担不至于太大而已,因为界面的正确更新始终要通过 UI 线程去做,我们要做的事情是在工作线程中包揽大部分的运算,而将对纯粹的界面更新放到 UI 线程中 阅读全文
posted @ 2013-06-20 20:15 一一二二 阅读(3511) 评论(0) 推荐(0) 编辑
摘要: 首先,自定义一个类,这了类之后会用到。class UdpState { public UdpClient u; public IPEndPoint e; }以下是主要代码,虽然是用udpclient来编程,但是这是编写的Server端代码,主要用到了异步接收方发,具体的方法讲解可以在MSDN上查看: public static void ReceiveCallback(IAsyncResult ar) { UdpClient u = (UdpClient)((UdpState)(ar.AsyncState)).u; IPEndPoint e = (IPEndPoint)((UdpState)( 阅读全文
posted @ 2013-06-18 20:37 一一二二 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 首先写个接受消息的服务端(接收方一般定义为服务端,发送方一般定义为客户端)。这里偷了点懒,new UdpClient(11000)就是用Udp方式侦听11000端口,侦听任何发送到11000端口的消息都会接收到。 static void Main(string[] args) { UdpClient udpClient = new UdpClient(11000); try { while (true) { IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); Byte[] receiveBytes = udpClie. 阅读全文
posted @ 2013-06-17 23:20 一一二二 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 类型初始值设定项引发异常的解决方案,简单来说其实就是类中的静态成员初始化时失败引起的。原来类的静态成员在初始化时如果出现异常,访问类的其它静态成员或对该类进行初始化都会抛出这个异常。请看下面的代码:public class Test{public static Foo Test1 = new Foo();public static string Test2 = "Test2";public string Test3 = "Test3";public Test() { } }public class Foo{public Foo(){throw new E 阅读全文
posted @ 2013-05-16 21:06 一一二二 阅读(729) 评论(0) 推荐(0) 编辑