SET DEFINE OFF; SELECT 'D&G' FROM DUAL;OR
SELECT 'D&'||'G' FROM DUAL;
$.fn.serializeObject = function() { var o = {}; var a = this.serializeArray(); $.each(a, function() { if (o[this.name]) { if (!o[this.name].push) { o[this.name] = [o[this.name]]; } o[this.name].push(this.value || ''); } else { o[this.name] = this.value || ''; } }); return o; };
$(document).ready(function(){ var data = $("#message").metadata(); var i; for(i in data){ $("#message").append("<div>"+i+"="+data[i]+"</div>"); } });
<div id="message" class="mess {firstName:'Bruce',lastName:'Tsai'}"></div>
(function(){ $("#form01").validate({ debug: true // 除錯模式 }); $("#form02").validate({ rules: { cellphone: { // form.name required: true, digits: true, minlength: 5 } }, messages: { cellphone: { // form.name required: "請填寫電話!", digits: "請填寫電話號碼!", minlength: $.format("至少填入 {0} 個數值") // 對應驗證的參數 } }, debug: true }); $("#form03").validate({ submitHandler: function(form){ alert("Age1 value : " + $("#age1").val()); form.submit(); //$(form).ajaxSubmit(); }, invalidHandler: function(form, validator){ var errors = validator.numberOfInvalids(); alert($.format("錯誤數 : {0}", errors)); } }); $("#form04").validate(); $("#testemail1").rules("add", {required:true}); $("#form05").validate(); // 新增驗證規則, 作法一 $.validator.methods.lessThanSquare = function(value, element, param){ // @value 輸入的值 // @element 驗證的目標元件 // @param 設定規則時的參數 return value * value < param; }; // 新增驗證規則, 作法二 $.validator.addMethod("testSocialId", function(value, element, param){ return /\w\d{9}/.test(value); }, "身份證號驗證錯誤"); $("#form06").validate({ rules: { number2: { required: true, digits: true, lessThanSquare: 100 }, socialid: { required: true, testSocialId: true } }, messages: { number2: { lessThanSquare: "數值錯誤" } } }); $("#form07").validate({ rules: { address: { required: "#requiredaddresscheck:checked" } } }); })();
NicEdit 授權方式 http://nicedit.com/license.php CLEditor 授權方式 You may use CLEditor under the terms of either the MIT License or the GNU General Public License (GPL) Version 2. CKEditor 可與 CKFinder 整合 授權方式 http://ckeditor.com/license Cross-Browser Rich Text Editor (RTE) 授權方式 http://creativecommons.org/licenses/by/2.5/ TinyMCE - Javascript WYSIWYG Editor 授權方式(LGPL) http://tinymce.moxiecode.com/license.php
SELECT s.role_id, s.role_name, s.role_base_on, b.role_name role_base_on_name FROM m_usr_role s LEFT JOIN m_usr_role b ON b.role_id = s.role_base_on
ROLE_ID ROLE_NAME ROLE_BASE_ON ROLE_BASE_ON_NAME ------------------------------------ -------------------------------------------------- ------------------------------------ -------------------------------------------------- system.administrator 系統管理員 common.logon.user 登入帳號 85e9953c-00fd-4a0c-979c-7a41bd3f085a 初學者 231570cd-832f-40e3-b198-fb2336245926 訪客 868a17dd-7d21-48a6-b2d5-f9a80313414a 初級專家 85e9953c-00fd-4a0c-979c-7a41bd3f085a 初學者 3e9a45b1-82f5-49df-8be6-d67df54760c9 中級專家 868a17dd-7d21-48a6-b2d5-f9a80313414a 初級專家 bd6eb9b1-05a3-4059-bc99-90258a7e8d86 高級專家 3e9a45b1-82f5-49df-8be6-d67df54760c9 中級專家 886cd029-db55-48ca-8835-d9c2e02fccad 初級顧問 bd6eb9b1-05a3-4059-bc99-90258a7e8d86 高級專家 0dec42e1-7de3-4a67-be15-97fbea759771 中級顧問 886cd029-db55-48ca-8835-d9c2e02fccad 初級顧問 f5648453-32a5-42c3-8ec1-3b31d0d812fd 高級顧問 0dec42e1-7de3-4a67-be15-97fbea759771 中級顧問 231570cd-832f-40e3-b198-fb2336245926 訪客 common.logon.user 登入帳號 10 個資料列已選取
SELECT role_id, role_name, role_base_on FROM m_usr_role START WITH role_name = '高級顧問' CONNECT BY PRIOR role_base_on = role_id
ROLE_ID ROLE_NAME ROLE_BASE_ON ------------------------------------ -------------------------------------------------- ------------------------------------ f5648453-32a5-42c3-8ec1-3b31d0d812fd 高級顧問 0dec42e1-7de3-4a67-be15-97fbea759771 0dec42e1-7de3-4a67-be15-97fbea759771 中級顧問 886cd029-db55-48ca-8835-d9c2e02fccad 886cd029-db55-48ca-8835-d9c2e02fccad 初級顧問 bd6eb9b1-05a3-4059-bc99-90258a7e8d86 bd6eb9b1-05a3-4059-bc99-90258a7e8d86 高級專家 3e9a45b1-82f5-49df-8be6-d67df54760c9 3e9a45b1-82f5-49df-8be6-d67df54760c9 中級專家 868a17dd-7d21-48a6-b2d5-f9a80313414a 868a17dd-7d21-48a6-b2d5-f9a80313414a 初級專家 85e9953c-00fd-4a0c-979c-7a41bd3f085a 85e9953c-00fd-4a0c-979c-7a41bd3f085a 初學者 231570cd-832f-40e3-b198-fb2336245926 231570cd-832f-40e3-b198-fb2336245926 訪客 8 個資料列已選取reference : Start with connect by prior 階層式查詢用法
public class ErrorHandler implements Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread t, Throwable e) { System.err.printf("Thread ID : %s%n", t.getId()); System.err.printf("Message : %s%n", e.getMessage()); } public static void main(String[] args) { // register handler Thread.setDefaultUncaughtExceptionHandler(new ErrorHandler()); // throw error throw new RuntimeException("My exception!"); } }
import java.io.IOException; public class ExecuteDosCommand { public static void main(String[] args) throws IOException, InterruptedException { String cmd = null; try { String s = "command.exe"; Runtime.getRuntime().exec(s); cmd = s; } catch (Exception ex) { // ex.printStackTrace(); } try { String s = "cmd.exe"; Runtime.getRuntime().exec(s); cmd = s; } catch (Exception ex) { // ex.printStackTrace(); } String s = String.format("%s /C start %s", cmd, "c:\\新增文字文件.txt"); System.err.println(s); Runtime.getRuntime().exec(s); } }
<?xml version="1.0" encoding="UTF-8"?> <frame xmlns="http://www.swixml.org/2007/SwixmlTags" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.swixml.org/2007/SwixmlTags http://www.swixml.org/2007/swixml.xsd" title="Config Editor" DefaultCloseOperation="JFrame.EXIT_ON_CLOSE" size="800,600"> <menubar> .... </menubar> <scrollpane id="spEditPane" constraints="BorderLayout.CENTER"> .... </scrollpane> </frame>XML Schema for Swixml
<textarea id="editor" class="ckeditor"></textarea>implement way 2 : use javascript
<textarea id="editor"></textarea> <script type="text/javascript"> // default CKEDITOR.replace("editor"); // with settings CKEDITOR.replace("editor", {skin:"office2003", toolbar:"Basic"}); </script>implement way 3 : use jQuery
<textarea id="editor"></textarea> <script type="text/javascript"> // default $("#editor").ckeditor(); // with settings $("#editor").ckeditor( function(){ // callback code }, { uiColor: "pink", skin: "kama", toolbar: [ ["Source", "Preview"], "/", // line break ["Cut", "Copy", "Paste", "PasteText", "PasteFromWord", "Print", "SpellChecker", "Scayt"] ] } ); </script>
"Source" | ||||||||
"Save" | "NewPage" | "Preview" | "Templates" | |||||
"Cut" | "Copy" | "Paste" | "PasteText" | "PasteFromWord" | "Print" | "SpellChecker" | "Scayt" | |
"Undo" | "Redo" | "Find" | "Replace" | "SelectAll" | "RemoveFormat" | |||
"Form" | "Checkbox" | "Radio" | "TextField" | "Textarea" | "Select" | "Button" | "ImageButton" | "HiddenField" |
"Bold" | "Italic" | "Underline" | "Strike" | "Subscript" | "Superscript" | |||
"NumberedList" | "BulletedList" | "Outdent" | "Indent" | "Blockquote" | ||||
"JustifyLeft" | "JustifyCenter" | "JustifyRight" | "JustifyBlock" | |||||
"Link" | "Unlink" | "Anchor" | ||||||
"Image" | "Flash" | "Table" | "HorizontalRule" | "Smiley" | "SpecialChar" | "PageBreak" | ||
"Styles" | "Format" | "Font" | "FontSize" | |||||
"TextColor" | "BGColor" | |||||||
"Maximize" | "ShowBlocks" | "About" |
FOR %%? IN (file_to_be_queried) DO ( ECHO File Name Only : %%~n? ECHO File Extension : %%~x? ECHO Name in 8.3 notation : %%~sn? ECHO File Attributes : %%~a? ECHO Located on Drive : %%~d? ECHO File Size : %%~z? ECHO Last-Modified Date : %%~t? ECHO Parent Folder : %%~dp? ECHO Fully Qualified Path : %%~f? ECHO FQP in 8.3 notation : %%~sf? ECHO Location in the PATH : %%~dp$PATH:? )
public class Parent { public static String getClassName() { return new Object() { }.getClass().getEnclosingClass().getName(); } public static void main(String[] args) { System.out.println(getClassName()); } }
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import java.util.Date; public class MathObj implements IMath { @Override public double sum(Number... value) { double sum = 0; for (int i = 0; i < value.length; i++) { System.out.print(value[i]); if (i < value.length - 1) System.out.print(" + "); sum += value[i].doubleValue(); } System.out.printf(" = %f%n", sum); return sum; } public static void main(String[] args) throws ClassNotFoundException { // 建立代理物件 Object deleagate = Proxy.newProxyInstance( ObjectHandler.class.getClassLoader(), new Class[] { IMath.class }, new ObjectHandler(new MathObj()) ); // 利用代理執行 double sum = ((IMath) deleagate).sum(1, 2, 3, 4, 5, 6, 7); System.out.printf("Invoke result: %f%n", sum); } } // 定義代理程式 class ObjectHandler implements InvocationHandler { // 原始物件 Object o; public ObjectHandler(Object o) { this.o = o; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { // 委派代理呼叫方法時, 要處理的動作 System.out.println("Start at " + new Date()); Object result = method.invoke(o, args); System.out.println("End at " + new Date()); return result; } } // 定義介面 interface IMath { double sum(Number... value); }感想: 不好用xd
@echo off SET file=mes.log SET filename=mes for /f %%a in ('dir /b /a-d %file%') do ( if %%~na==%filename% GOTO :FileFound ) GOTO :FileNotFound :FileFound ECHO FILE FOUND GOTO :BatchEnd :FileNotFound ECHO FILE NOT FOUND :BatchEnd ECHO END
DECLARE and SET Varibales
DECLARE @Mojo int SET @Mojo = 1 SELECT @Mojo = Column FROM Table WHERE id=1IF / ELSE IF / ELSE Statement IF @Mojo < 1 BEGIN PRINT 'Mojo Is less than 1' END ELSE IF @Mojo = 1 BEGIN PRINT 'Mojo Is 1' END ELSE BEGIN PRINT 'Mojo greater than 1' ENDCASE Statement SELECT Day = CASE WHEN (DateAdded IS NULL) THEN 'Unknown' WHEN (DateDiff(day, DateAdded, getdate()) = 0) THEN 'Today' WHEN (DateDiff(day, DateAdded, getdate()) = 1) THEN 'Yesterday' WHEN (DateDiff(day, DateAdded, getdate()) = -1) THEN 'Tomorrow' ELSE DATENAME(dw , DateAdded) END FROM TableAdd A Column ALTER TABLE YourTableName ADD [ColumnName] [int] NULL;Rename a Column EXEC sp_rename 'TableName.OldColName', 'NewColName','COLUMN';Rename a Table EXEC sp_rename 'OldTableName', 'NewTableName';Add a Foreign Key ALTER TABLE Products WITH CHECK ADD CONSTRAINT [FK_Prod_Man] FOREIGN KEY(ManufacturerID) REFERENCES Manufacturers (ID);Add a NULL Constraint ALTER TABLE TableName ALTER COLUMN ColumnName int NOT NULL;Set Default Value for Column ALTER TABLE TableName ADD CONSTRAINT DF_TableName_ColumnName DEFAULT 0 FOR ColumnName;Create an Index CREATE INDEX IX_Index_Name ON Table(Columns)Check Constraint ALTER TABLE TableName ADD CONSTRAINT CK_CheckName CHECK (ColumnValue > 1)DROP a Column ALTER TABLE TableName DROP COLUMN ColumnName; |
Single Line Comments
SET @mojo = 1 --THIS IS A COMMENTMulti-Line Comments /* This is a comment that can span multiple lines */Try / Catch Statements BEGIN TRY -- try / catch requires SQLServer 2005 -- run your code here END TRY BEGIN CATCH PRINT 'Error Number: ' + str(error_number()) PRINT 'Line Number: ' + str(error_line()) PRINT error_message() -- handle error condition END CATCHWhile Loop DECLARE @i int SET @i = 0 WHILE (@i < 10) BEGIN SET @i = @i + 1 PRINT @i IF (@i >= 10) BREAK ELSE CONTINUE ENDCREATE a Table CREATE TABLE TheNameOfYourTable ( ID INT NOT NULL IDENTITY(1,1), DateAdded DATETIME DEFAULT(getdate()) NOT NULL, Description VARCHAR(100) NULL, IsGood BIT DEFAULT(0) NOT NULL, TotalPrice MONEY NOT NULL, CategoryID int NOT NULL REFERENCES Categories(ID), PRIMARY KEY (ID) );User Defined Function CREATE FUNCTION dbo.DoStuff(@ID int) RETURNS int AS BEGIN DECLARE @result int IF @ID = 0 BEGIN RETURN 0 END SELECT @result = COUNT(*) FROM table WHERE ID = @ID RETURN @result END GO SELECT dbo.DoStuff(0) |
ConversionPattern參數的格式含義 格式名 含義 %c 輸出日誌資訊所屬的類的全名 %d 輸出日誌時間點的日期或時間,默認格式為ISO8601,也可以在其後指定格式,比如:%d{yyy-MM-dd HH:mm:ss },輸出類似:2002-10-18- 22:10:28 %f 輸出日誌資訊所屬的類的類名 %l 輸出日誌事件的發生位置,即輸出日誌資訊的語句處於它所在的類的第幾行 %m 輸出代碼中指定的資訊,如log(message)中的message %n 輸出一個回車換行符,Windows平臺為“rn”,Unix平臺為“n” %p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL。如果是調用debug()輸出的,則為DEBUG,依此類推 %r 輸出自應用啟動到輸出該日誌資訊所耗費的毫秒數 %t 輸出產生該日誌事件的線程名Level : OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
Class.forName(jdbc_driver); Properties prop = new Properties(); prop.setProperty("user", user); prop.setProperty("password", password); // 解決使用 ojdbc14.jar 連某些版本的資料庫,若使用 getObject() 來取得 DATE TYPE 欄位資料時,會有取不到時間的問題 prop.setProperty("oracle.jdbc.V8Compatible", "true"); Connection conn = DriverManager.getConnection(url, prop);
import java.io.File; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import javax.mail.internet.MimeUtility; public class JavaMailSample { static String smtpHost = "smtp.bruce.com.tw"; static int smtpPort = 25; static String[] from = new String[] { "bruce@bruce.com.tw", "Bruce Tasi" }; static String to = "nanashi@bruce.com.tw"; static String account = "account"; static String password = "password"; static String subject = "信件主旨"; static String contentType = "text/html;charset=utf-8"; static String body = "<html><body><h1 style=\"color:blue;\">Mail test</h1><img src=\"cid:image01\" /></body></html>"; static Message getMessage(Session session) throws MessagingException, UnsupportedEncodingException { Message msg = new MimeMessage(session); // 寄件者 msg.setFrom(new InternetAddress(from[0], from[1])); // msg.setFrom(new InternetAddress(String.format("\"%s\"<%s>", from[1], from[0]))); // 收件者 InternetAddress[] address = InternetAddress.parse(to, false); msg.setRecipients(Message.RecipientType.TO, address); // 主旨 (需編碼) msg.setSubject(MimeUtility.encodeText(subject, "utf-8", "B")); // 寄件時間 msg.setSentDate(new Date()); // 附件 File file = new File("write.png"); if (file.exists()) { // 內文 MimeBodyPart contentBody = new MimeBodyPart(); // 內容與格式 contentBody.setContent(body, contentType); // 附件 MimeBodyPart attachment = new MimeBodyPart(); FileDataSource fds = new FileDataSource(file.getName()); attachment.setDataHandler(new DataHandler(fds)); // 附件名稱 (需編碼) attachment.setFileName(MimeUtility.encodeText(fds.getName(), "utf-8", "B")); // 附件代號, 用於顯示郵件內文 attachment.setHeader("Content-ID", "<image01>"); // 組成郵件 MimeMultipart mp = new MimeMultipart(); // 內容顯示附件圖片時, 必須設定為related mp.setSubType("related"); mp.addBodyPart(contentBody); mp.addBodyPart(attachment); msg.setContent(mp); } else { // 若沒有檔案時,就直接存郵件內容 msg.setContent(body, contentType); } return msg; } static void sendMail1() throws MessagingException, UnsupportedEncodingException { // 建立工作階段 Session session = Session.getDefaultInstance(new Properties(), null); // 開啟除錯模式 session.setDebug(true); Message msg = getMessage(session); Transport transport = session.getTransport("smtp"); transport.connect(smtpHost, smtpPort, account, password); transport.sendMessage(msg, msg.getAllRecipients()); transport.close(); } static void sendMail2() throws UnsupportedEncodingException, MessagingException { Properties props = new Properties(); props.put("mail.smtp.host", smtpHost); props.put("mail.smtp.port", smtpPort); props.put("mail.smtp.auth", "true"); // props.put("mail.smtp.socketFactory.port", smtpPort); // props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(account, password); } }); session.setDebug(true); Message msg = getMessage(session); Transport.send(msg); } }JavaMail
import java.io.FileInputStream; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.jar.JarEntry; import java.util.jar.JarInputStream; public class ClassLoaderSample { public static void main(String[] args) throws Exception { String jarFile = "C:/workspace/bruce.lib/Blib.jar"; URLClassLoader dynamicLoader = URLClassLoader.newInstance(new URL[] { new URL("file", null, jarFile) }, ClassLoaderTest.class.getClassLoader()); // List content JarInputStream jis = new JarInputStream(new FileInputStream(jarFile)); JarEntry entry = null; while ((entry = jis.getNextJarEntry()) != null) { String name = entry.getName(); System.out.println(name); } System.out.println("====="); // Inovke method Class objClass = Class.forName("aaa.bbb.PrintTable", true, dynamicLoader); Object obj = objClass.newInstance(); Method objMethod = objClass.getDeclaredMethod("print"); objMethod.invoke(obj); // Field value Field objField = objClass.getDeclaredField("tableName"); System.out.println(objField.get(obj)); // Change field value objField.set(obj, "myTable"); } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Class1 { #region Get remote share folder name, use Windows API NetShareEnum [DllImport("Netapi32.dll", CharSet = CharSet.Unicode)] private static extern NET_API_STATUS NetShareEnum( StringBuilder serverName, int level, ref IntPtr bufPtr, uint prefMaxLen, ref int entriesRead, ref int totalEntries, ref int resumeHandle ); [DllImport("Netapi32.dll", SetLastError = true)] static extern int NetApiBufferFree(IntPtr Buffer); public enum NET_API_STATUS : uint { NERR_Success = 0, NERR_InvalidComputer = 2351, NERR_NotPrimary = 2226, NERR_SpeGroupOp = 2234, NERR_LastAdmin = 2452, NERR_BadPassword = 2203, NERR_PasswordTooShort = 2245, NERR_UserNotFound = 2221, ERROR_ACCESS_DENIED = 5, ERROR_NOT_ENOUGH_MEMORY = 8, ERROR_INVALID_PARAMETER = 87, ERROR_INVALID_NAME = 123, ERROR_INVALID_LEVEL = 124, ERROR_MORE_DATA = 234, ERROR_SESSION_CREDENTIAL_CONFLICT = 1219 } [StructLayoutAttribute(LayoutKind.Sequential)] public struct _SHARE_INFO_0 { [MarshalAsAttribute(UnmanagedType.LPWStr)] public string shi0_netname; } public static void EnumNetShares(string remoteMachineName) { StringBuilder serverName = new StringBuilder(remoteMachineName); int level = 0; IntPtr bufPtr = IntPtr.Zero; uint prefMaxLen = 0xFFFFFFFF; int entriesRead = 0; int totalEntries = 0; int resumeHandle = 0; int structSize = Marshal.SizeOf(typeof(_SHARE_INFO_0)); NET_API_STATUS result = NetShareEnum(serverName, level, ref bufPtr, prefMaxLen, ref entriesRead, ref totalEntries, ref resumeHandle); if (result == NET_API_STATUS.NERR_Success) { IntPtr current = bufPtr; for (int i = 0; i < entriesRead; i++) { _SHARE_INFO_0 shareInfo = (_SHARE_INFO_0)Marshal.PtrToStructure(current, typeof(_SHARE_INFO_0)); Console.WriteLine(shareInfo.shi0_netname); current = new IntPtr(current.ToInt32() + structSize); } } else if (result == NET_API_STATUS.ERROR_MORE_DATA) { NetApiBufferFree(bufPtr); } else { // Something else. } } #endregion #region Get remote share folder name, use WMI private static void DisplayShareFolders(string computerName, string userName, string password) { string queryStr = "select * from Win32_Share"; ConnectionOptions co = new ConnectionOptions(); co.Username = userName; co.Password = password; ManagementScope ms = new ManagementScope(string.Format(@"\\{0}\root\cimv2", computerName), co); ms.Connect(); if (ms.IsConnected) { ObjectQuery query = new ObjectQuery(queryStr); using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(ms, query)) { using (ManagementObjectCollection searchResult = searcher.Get()) { foreach (ManagementObject mo in searchResult) { foreach (PropertyData property in mo.Properties) { Console.WriteLine("Name:{0}\tPath:{1}", mo.Properties["Name"].Value.ToString(), mo.Properties["Path"].Value.ToString()); } } } } } } #endregion } }
SET SERVEROUTPUT ON; DECLARE v_column VARCHAR2(100); BEGIN DBMS_OUTPUT.ENABLE; INSERT INTO table1(column1) VALUES ('TEST VALUE') RETURNING column1 INTO v_column; DBMS_OUTPUT.PUT_LINE(v_column); END;
SET SERVEROUTPUT ON; /* execute query */ DECLARE BEGIN EXECUTE IMMEDIATE 'SELECT CURRENT_DATE FROM DUAL'; END; /* execute query & set value */ DECLARE v_time DATE; BEGIN DBMS_OUTPUT.ENABLE; EXECUTE IMMEDIATE 'SELECT CURRENT_DATE FROM DUAL' INTO v_time; DBMS_OUTPUT.PUT_LINE(v_time); END; /* execute query with parameter */ DECLARE v_emp_id VARCHAR2(20); v_name VARCHAR2(20); BEGIN v_name := 'Bruce'; v_emp_id := '00987'; EXECUTE IMMEDIATE 'UPDATE employee SET employee_name = :1 WHERE employee_id = :2' USING v_name, v_emp_id; COMMIT; END; /* execute procedure */ DECLARE v_start_index NUMBER := 24; v_end_index NUMBER:= 587; v_sum NUMBER; v_status NUMBER(1,0); BEGIN DBMS_OUTPUT.ENABLE; EXECUTE IMMEDIATE 'BEGIN get_lot_amount(:1, :2, :3); END;' USING IN v_start_index, IN v_end_index, OUT v_sum, IN OUT v_status; IF v_status = 0 THEN DBMS_OUTPUT.PUT_LINE('ERROR'); END IF; END;
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using Sportingbet.net; using Sportingbet.util; using System.Xml.Linq; using System.Xml.XPath; using System.Xml; class Program { static void Main(string[] args) { string xml = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "tmp.xml"); XDocument xDoc = XDocument.Parse(xml); var nodes = from e in xDoc.XPathSelectElements("//myTag") select e; foreach (var e in nodes) { Console.WriteLine(e); } XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xml); XmlNodeList nodelist = xmlDoc.SelectNodes("//myTag"); foreach (XmlNode e in nodelist) { Console.WriteLine(e.OuterXml); } } }
import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.logging.Level; import java.util.logging.Logger; import bruce.lib.swing.JTextBox; public class CloneObject { public static Object clone(Object source) { Object newObject = new Object(); ObjectOutputStream ooStr = null; try { ByteArrayOutputStream baoStr = new ByteArrayOutputStream(); ooStr = new ObjectOutputStream(baoStr); ooStr.writeObject(source); ooStr.flush(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(baoStr.toByteArray())); newObject = in.readObject(); } catch (ClassNotFoundException ex) { Logger.getLogger(CloneObject.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(CloneObject.class.getName()).log(Level.SEVERE, null, ex); } finally { try { ooStr.close(); } catch (IOException ex) { Logger.getLogger(CloneObject.class.getName()).log(Level.SEVERE, null, ex); } } return newObject; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub JTextBox textbox = new JTextBox("A simple textbox", 20); System.out.printf("Hashcode : %d%n", textbox.hashCode()); JTextBox clonedTextBox = (JTextBox) clone(textbox); System.out.printf("Cloned hashcode : %d%n", clonedTextBox.hashCode()); System.out.printf("Cloned text : %s%n", clonedTextBox.getText()); } }
import java.awt.Graphics; import java.awt.image.BufferedImage; import java.awt.print.PageFormat; import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; public class PringMultipleImage implements Printable { @Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { // 要列印的圖片 BufferedImage[] images = this.getPrintImages(); if (images.length == 0) return Printable.NO_SUCH_PAGE; // 固定寬度(以符合掃描器大小) double stickerWidth = 220; double maxStickerHeight = 0; // 最大高度 for (int i = 0; i < images.length; i++) { maxStickerHeight = Math.max(maxStickerHeight, stickerWidth / images[i].getWidth() * images[i].getHeight()); } // 計算頁面可列印張數, 每頁張數 : c*r int c = (int) (pageFormat.getImageableWidth() / stickerWidth); int r = (int) (pageFormat.getImageableHeight() / maxStickerHeight); int p = (int) Math.ceil(1.0 * images.length / c / r); // 頁數 if (pageIndex < p) { // 計算cell大小 double cellWidth = pageFormat.getImageableWidth() / c; double cellHeight = pageFormat.getImageableHeight() / r; // 計算位置 double translateX = (cellWidth - stickerWidth) / 2; // int cellx = 0; int celly = 0; for (int i = 0 + pageIndex * c * r; i < images.length; i++) { double stickerHeight = stickerWidth / images[i].getWidth() * images[i].getHeight(); double translateY = (cellHeight - stickerHeight) / 2; graphics.drawImage(images[i], // (int) (translateX + cellx * cellWidth), // (int) (translateY + celly * cellHeight), // (int) stickerWidth, // (int) stickerHeight, // null); // 下一個cell if (cellx + 1 == c) { cellx = 0; celly++; } else { cellx++; } } return Printable.PAGE_EXISTS; } else { return Printable.NO_SUCH_PAGE; } } private BufferedImage[] getPrintImages() { // Generate image here return null; } public static void main(String[] args) { PrinterJob job = PrinterJob.getPrinterJob(); job.setPrintable(new PringMultipleImage()); if (job.printDialog()) { try { job.print(); } catch (PrinterException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }reference:
package y11.m03; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import javax.imageio.ImageIO; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSpinner; import javax.swing.JTextField; public class PrintTester { public static void main(String[] args) throws IOException { JPanel p = new JPanel(new GridLayout(2, 2)); p.add(new JTextField("wwww", 20)); p.add(new JLabel("dfdfdf")); p.add(new JSpinner()); p.add(new JButton("fdfdf")); BufferedImage image = createImage(p); ImageIO.write(image, "png", new File("PrintTest2.png")); } // if component is rendered public static BufferedImage createImage(JComponent component) { int w = component.getWidth(); int h = component.getHeight(); BufferedImage img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); Graphics2D g = img.createGraphics(); component.paint(g); return img; } // if component is not rendered public static BufferedImage createImage(JComponent component, AffineTransform transform) throws IOException, ClassNotFoundException { if (component == null) return null; JFrame f = new JFrame(); // for paint JComponent clone = (JComponent) clone(component); f.add(clone); f.pack(); BufferedImage image = new BufferedImage(clone.getWidth(), clone.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g = image.createGraphics(); if (transform != null) g.setTransform(transform); clone.paint(g); f.dispose(); return image; } public static <T extends Serializable> T clone(T source) throws IOException, ClassNotFoundException { Object newObject = new Object(); ObjectOutputStream ooStr = null; ByteArrayOutputStream baoStr = new ByteArrayOutputStream(); ooStr = new ObjectOutputStream(baoStr); ooStr.writeObject(source); ooStr.flush(); ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(baoStr.toByteArray())); newObject = in.readObject(); ooStr.close(); return (T) newObject; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; public class ProxyConfig { public static ProxyConfig DefaultProxy; public string Host { get; set; } public int Port { get; set; } public string Account { get; set; } public string Password { get; set; } public ProxyConfig(string host, int port, string account, string password) { this.Host = host; this.Port = port; this.Account = account; this.Password = password; } }DownloadProcess.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using System.Threading; using System.Text.RegularExpressions; public class DownloadProcess { public static string GetHtmlSource(string url, ProxyConfig proxy) { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; // 設置代理伺服器 if (proxy != null) { WebProxy p = new WebProxy(proxy.Host, proxy.Port); p.Credentials = new NetworkCredential(proxy.Account, proxy.Password); request.Proxy = p; } HttpWebResponse response = request.GetResponse() as HttpWebResponse; Stream s = response.GetResponseStream(); StreamReader reader = new StreamReader(s); string source = reader.ReadToEnd(); reader.Close(); s.Close(); response.Close(); return source; } /// <summary> /// 目標網址 /// </summary> public string Url { get; set; } /// <summary> /// 儲存的目錄位置 /// </summary> public string StorePath { get; set; } /// <summary> /// 儲存的檔名 (Optional) /// </summary> public string StoreFilename { get { return this._StoreFilename; } set { this._IsFilenameCustomized = true; this._StoreFilename = value; } } /// <summary> /// 代理伺服器設定 /// </summary> public ProxyConfig Proxy { get; set; } /// <summary> /// 串流(資料)長度 /// </summary> public long Length { get; private set; } /// <summary> /// 已收到的串流(資料)長度 /// </summary> public long AcceptedLength { get; private set; } /// <summary> /// 開始下載時間 /// </summary> public DateTime BeginTime { get; private set; } /// <summary> /// 完成下載時間 /// </summary> public DateTime EndTime { get; private set; } /// <summary> /// 處理完成 /// </summary> public bool IsCompleted { get; private set; } /// <summary> /// 儲存檔名 /// </summary> private string _StoreFilename; /// <summary> /// 自訂儲存檔名 /// </summary> private bool _IsFilenameCustomized = false; /// <summary> /// 停止下載標記 /// </summary> private bool _StopFlag = false; /// <summary> /// 讀取時的Buffer大小 /// </summary> private int _ReadBuffer = 128; /// <summary> /// 寫入磁碟間隔(sec) /// </summary> private int _FlushInterval = 5; /// <summary> /// 執行寫入磁碟旗標 /// </summary> private bool _IsFlushing = false; /// <summary> /// 記錄寫入磁碟時間 /// </summary> private DateTime _LastFlushTime; public DownloadProcess() { this._LastFlushTime = DateTime.Now; } public DownloadProcess(string url, string storePath) : this() { this.Url = url; this.StorePath = storePath; } public DownloadProcess(string url, string storePath, ProxyConfig proxy) : this(url, storePath) { this.Proxy = proxy; } /// <summary> /// 開始下載 /// </summary> public void Start() { new Thread(() => { this.AcceptedLength = 0; this.IsCompleted = false; this.BeginTime = DateTime.Now; this.EndTime = DateTime.MinValue; // 解析檔名 this.ParseFileName(); HttpWebRequest request = WebRequest.Create(this.Url) as HttpWebRequest; // 設置代理伺服器 if (this.Proxy != null) { WebProxy p = new WebProxy(this.Proxy.Host, this.Proxy.Port); p.Credentials = new NetworkCredential(this.Proxy.Account, this.Proxy.Password); request.Proxy = p; } HttpWebResponse response = request.GetResponse() as HttpWebResponse; // 檢查附件名稱 this.ParseAttachmentName(response); // 嘗試取得串流長度 this.Length = response.ContentLength; // 讀取位元數 int readed = 0; // Buffer byte[] buf = new byte[this._ReadBuffer]; // 暫存資料 MemoryStream ms = new MemoryStream(); Stream stream = response.GetResponseStream(); while ((readed = stream.Read(buf, 0, buf.Length)) > 0) { // 記錄接收的串流長度 this.AcceptedLength += readed; // 寫入暫存 ms.Write(buf, 0, readed); // 寫入磁碟 if (!this._IsFlushing && DateTime.Now.AddSeconds(-1 * this._FlushInterval) > this._LastFlushTime) { ms.Close(); this.FlushToDisk(ms.ToArray()); ms = new MemoryStream(); } // 強迫中斷 if (this._StopFlag) break; } stream.Close(); ms.Close(); // 等待未完成寫入作業 while (this._IsFlushing) { Thread.Sleep(100); } this.FlushToDisk(ms.ToArray()); this.EndTime = DateTime.Now; this.IsCompleted = true; }).Start(); } /// <summary> /// 中斷下載 /// </summary> public void Stop() { this._StopFlag = true; } /// <summary> /// 由輸入網址產生檔名 /// </summary> private void ParseFileName() { if (!this._IsFilenameCustomized && !string.IsNullOrWhiteSpace(Url)) { Uri url = new Uri(this.Url); this.StoreFilename = url.Segments[url.Segments.Length - 1]; } } /// <summary> /// 檢查是否有附件名稱 /// </summary> /// <param name="res"></param> private void ParseAttachmentName(HttpWebResponse res) { if (!string.IsNullOrWhiteSpace(res.Headers["Content-Disposition"])) { string filename = Regex.Match( res.Headers["Content-Disposition"], "filename=(.+)", RegexOptions.IgnoreCase ).Groups[1].Value; if (!string.IsNullOrWhiteSpace(filename)) { this.StoreFilename = filename; } } } /// <summary> /// 將暫存資料寫入磁碟 /// </summary> /// <param name="buffer"></param> private void FlushToDisk(byte[] buffer) { new Thread(() => { // 標記為寫入中 this._IsFlushing = true; FileStream fs = new FileStream( Path.Combine(this.StorePath, this.StoreFilename), FileMode.Append, FileAccess.Write, FileShare.Write ); fs.Write(buffer, 0, buffer.Length); fs.Close(); // 延遲 Thread.Sleep(100); // 記錄寫入時間 this._LastFlushTime = DateTime.Now; this._IsFlushing = false; }).Start(); } /// <summary> /// 以適當單位顯示大小 /// </summary> /// <param name="length">位元數</param> /// <param name="ext">單位</param> /// <returns></returns> private string toSize(double length, SizeExtension ext) { if (ext == SizeExtension.Byte && length < 1) return "0 Byte"; if (ext == SizeExtension.GB) return string.Format("{0:00.00} {1}", length, ext); if (length < 1024) { return string.Format("{0:##.##} {1}", length, ext); } else { return toSize(length / 1024, (SizeExtension)(ext + 1)); } } /// <summary> /// 串流(資料)長度 /// </summary> /// <returns></returns> public string GetLength() { return this.toSize(this.Length, SizeExtension.Byte); } /// <summary> /// 已收到的串流(資料)長度 /// </summary> /// <returns></returns> public string GetAcceptedLenght() { return this.toSize(this.AcceptedLength, SizeExtension.Byte); } }