2012年11月8日 星期四
2012年11月3日 星期六
[php]setcookie()
一. print and echo 皆是用來顯示字串在螢幕
<?php
$variable=3;
print("使用print 輸出 $variable<br/>");
echo "使用print 輸出 $variable";
?>
二. 8進位16進位
<?php
$nl ="<br/>";
$a =1234;
echo $a.$nl;
$a =-123;
echo $a.$nl;
$a=0123;
echo $a.$nl;
$a=0x12;
echo $a;
?>
三. 指定字串 (單引號,雙引號,heredoc)
heredoc(<<<)
<?php
$name="test";
echo<<<EOD
MY NAME IS $test<br/>
hello test
EOD;
?>
四. 瀏覽器上的暫存器Http Cookies
php中的setcookie()
1)setcookie()函數可以將我們的上網資訊存在Browser(client端)上,
帳號密碼的網頁正是利用這個功能.
2)cookie
是一個變數由server送給client.
通常是一個小的文字檔存在client端的電腦.
3)如果我們只要讓瀏覽器記錄的資料暫時記憶,則只要在setcookie()
函數後面加上時間函數.
4)This function returns TRUE on success or FALSE on failure.
ex: cookie.php
<?php
//將"chaiyen"這個字串存入browser並以login這個變數來指定,而login這個變數存在3600秒(=1hr).
setcookie("login","chaiyen",time()+3600);
if(isset($_COOKIE['login']))
echo $_COOKIE['login'];
?>
<?php
$variable=3;
print("使用print 輸出 $variable<br/>");
echo "使用print 輸出 $variable";
?>
二. 8進位16進位
<?php
$nl ="<br/>";
$a =1234;
echo $a.$nl;
$a =-123;
echo $a.$nl;
$a=0123;
echo $a.$nl;
$a=0x12;
echo $a;
?>
三. 指定字串 (單引號,雙引號,heredoc)
heredoc(<<<)
<?php
$name="test";
echo<<<EOD
MY NAME IS $test<br/>
hello test
EOD;
?>
四. 瀏覽器上的暫存器Http Cookies
php中的setcookie()
1)setcookie()函數可以將我們的上網資訊存在Browser(client端)上,
帳號密碼的網頁正是利用這個功能.
2)cookie
是一個變數由server送給client.
通常是一個小的文字檔存在client端的電腦.
3)如果我們只要讓瀏覽器記錄的資料暫時記憶,則只要在setcookie()
函數後面加上時間函數.
4)This function returns TRUE on success or FALSE on failure.
ex: cookie.php
<?php
//將"chaiyen"這個字串存入browser並以login這個變數來指定,而login這個變數存在3600秒(=1hr).
setcookie("login","chaiyen",time()+3600);
if(isset($_COOKIE['login']))
echo $_COOKIE['login'];
?>
2012年11月2日 星期五
[Mysql]新增資表欄位
若有一table其table name為 book
新增欄位 : alter table 資料表名稱 add 欄位名稱 資料型態;
alter table book add bookid char(10);
新增欄位 : alter table 資料表名稱 add 欄位名稱 資料型態;
alter table book add bookid char(10);
2012年10月31日 星期三
2012年10月10日 星期三
[PHP]$_POST[] and $_SERVER[PHP_SELF] 使用
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
function display_welcome()
{
print("Welcome, ");
print($_POST['user_name']);
}
function display_empty_form()
{
print <<<_HTML_
<FORM method="post" action="$_SERVER[PHP_SELF]">
Eneter your name:<input type="text" name="user_name">
<br/>
<input type="submit" value="submit name">
</FORM>
_HTML_;
}
if($_POST['user_name'])
{
display_welcome();
}
else
{
display_empty_form();
}
?>
</body>
</html>
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
function display_welcome()
{
print("Welcome, ");
print($_POST['user_name']);
}
function display_empty_form()
{
print <<<_HTML_
<FORM method="post" action="$_SERVER[PHP_SELF]">
Eneter your name:<input type="text" name="user_name">
<br/>
<input type="submit" value="submit name">
</FORM>
_HTML_;
}
if($_POST['user_name'])
{
display_welcome();
}
else
{
display_empty_form();
}
?>
</body>
</html>
2012年10月4日 星期四
[Java] 讀取輸入類別使用&輸出入例外IOException
InputStreamReader ir = new InputStreamReder(System.in);
BufferedReader br = new BufferedReader(ir);
String fileName;
try{
fileName = br.readLine();
}catch(IOException e) //輸出入處理錯誤例外
{
System.out.println(e);
}
BufferedReader br = new BufferedReader(ir);
String fileName;
try{
fileName = br.readLine();
}catch(IOException e) //輸出入處理錯誤例外
{
System.out.println(e);
}
2012年10月3日 星期三
[Java]RuntimeException vs. Checked Exception vs. Error
例外類別架構圖 |
1. Runtime Exception
程式設計師不小心或忘記產生.
例如:
例外原因 | 例外名稱 |
陣列存取範圍例外 | ArrayIndexOutOfBoundsException |
除0 | ArithmeticException |
忘記將物件參考指定到一個物件實體 | NullPointerException |
指定陣列實體錯誤 | ArrayStoreExceptioin |
類別型別轉換錯誤 | ClassCastException |
方法參數傳遞錯誤 | IllegalArgumentException |
宣告陣列大小為負值 | NativeArraySizeException |
違反安全性限制 | SecurityException |
2. Checked Exception
外在因素所造成的,像是檔案存取錯誤,網路斷線等...
ps: 實際上並沒有Checked Exception 類別,凡不是RuntimeException 的例外,統稱Checked Exception.
常見的Checked Exception
例外原因 | 例外名稱 |
程式執行時,找不到所需的類別檔案 | ClassNotFoundException |
找不到指定的檔案 | FileNotFoundException |
執行緒中斷 | InterruptedException |
輸出入處理錯誤 | IOException |
資料庫處理錯誤 | SQLException |
3. Error(例外處理能做的有限)
屬於系統等級且非常嚴重的錯誤如 記憶體不足,執行緒死結
OutOfMemoryError
StackOverflowError
UnknowError
AWTError
ThreadDeadth
[101高考程式語言第四題]ExceptionQuestion
class FooException extends Exception{}
class ExceptionQuestion{
public void aMethod()throws FooException{
try{
System.out.println("In aMethod");
throw new FooException(); //產生例外
}
catch(FooException error)
{
System.out.println("in first catch");
throw new FooException(); //例外產生不直接處理丟出
}
finally{
System.out.println("Finally"); //finally 一定會執行
}
}
public static void main(String[] args)
{
try{
System.out.println("Start");
ExceptionQuestion x = new ExceptionQuestion();
x.aMethod(); //發生例外了
System.out.println("After method");
}catch(FooException e1){
System.out.println("In handler 1");
}catch(Exception e2){
System.out.println("In handler 2");
}
System.out.println("End");
}
}
觀念
1. throws 關鍵字的使用(宣告一個方法可以丟出例外用 -> throws)
當例外產生時,不一定要立刻去處理它,可以再把例外丟給別人處理.
2. 當 try 區域的某一行程式碼產生例外之後,程式就會跳到catch區域中去執行例外處理的程式碼.
3. 有的程式碼不論有無發生例外都必需要執行的話,就放在finally區域
ans:
Start
In aMethod
in first catch
Finally
In handler 1
End
2012年9月25日 星期二
[Java]protected member can access by the smae package
//First.java
package abc;
public class First
{
protected int value;
public First()
{
value =10;
}
}
//Second.java
package abc;
public class Second
{
public Second(){}
public void print()
{
First app = new First();
System.out.println(app.value);
}
}
//TestFS.java
import abc.First;
import abc.Second;
public class TestFS
{
public TestFS()
{
}
public static void main(String args[])
{
Second s = new Second();
s.print();
}
}
---------------------------------------------------------------
javac -d . First.java
javac -d . Second.java
javac TestFS.java
java TestFS
package abc;
public class First
{
protected int value;
public First()
{
value =10;
}
}
//Second.java
package abc;
public class Second
{
public Second(){}
public void print()
{
First app = new First();
System.out.println(app.value);
}
}
//TestFS.java
import abc.First;
import abc.Second;
public class TestFS
{
public TestFS()
{
}
public static void main(String args[])
{
Second s = new Second();
s.print();
}
}
---------------------------------------------------------------
javac -d . First.java
javac -d . Second.java
javac TestFS.java
java TestFS
2012年9月24日 星期一
[Java]產生的例外
Java 產生的例外都是一個物件(屬於Throwable類別或其子類別的副本)
Throwable 類別擁有兩個直接的子類別
1. Error 類別 : 屬於JVM 的嚴重錯誤,這種錯誤會導致程式終止執行,所以並無法使用例外處理處理這種錯誤.
2. Exception 類別:
Excepton class 擁有一個子類別RuntimeException,這個類別的子類別是一些常見的例外.
如
ArithmeticException 數學運算時產生的例外
ArrayIndexOutOfBoundsException 陣列索引值小於0或超過陣列邊界
ArrayStoreException 陣列元數的型態不符
IllegalArgumentException 方法呼叫時參數型態不符
NullPointerException 物件值為null產生的例外
try{
}
catch(ExceptionType e)
{
}
finally{
}
//example
public class DealMultiException
{
public static void main(String args[])
{
try{
int i;
String args1 = args[0]; //產生超過陣列的例外
for(i=2;i>-1;i--)
System.out.println("計算結果:"+6/i); //Divide by zero exception
}
catch(ArithmeticException e)
{
//show exception info
System.out.println("例外說明: "+e.getMessage());
System.out.print("例外原因");
e.printStackTrace();
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("例外說明: "+e.getMessage());
System.out.print("例外原因");
e.printStackTrace();
}
finally
{
System.out.println("錯誤處理結束");
}
System.out.println("Programe end.");
}
}
//丟出例外
public class MythrowException
{
public static void main(String args[])
{
try
{
//取得參數字串
int value = Integer.parseInt(args[0]);
if(value==0)
//丟出ArithmeticException 例外
throw new ArithmeticException("值為0");
}
catch(ArithmeticException e)
{
//處理ArithmeticException例外
System.out.println("例外說明:"+e.getMessage());
System.out.print("例外原因 : ");
e.printStackTrace();
}
finally
{
System.out.println("錯誤處理結束");
}
}
}
Throwable 類別擁有兩個直接的子類別
1. Error 類別 : 屬於JVM 的嚴重錯誤,這種錯誤會導致程式終止執行,所以並無法使用例外處理處理這種錯誤.
2. Exception 類別:
Excepton class 擁有一個子類別RuntimeException,這個類別的子類別是一些常見的例外.
如
ArithmeticException 數學運算時產生的例外
ArrayIndexOutOfBoundsException 陣列索引值小於0或超過陣列邊界
ArrayStoreException 陣列元數的型態不符
IllegalArgumentException 方法呼叫時參數型態不符
NullPointerException 物件值為null產生的例外
try{
}
catch(ExceptionType e)
{
}
finally{
}
//example
public class DealMultiException
{
public static void main(String args[])
{
try{
int i;
String args1 = args[0]; //產生超過陣列的例外
for(i=2;i>-1;i--)
System.out.println("計算結果:"+6/i); //Divide by zero exception
}
catch(ArithmeticException e)
{
//show exception info
System.out.println("例外說明: "+e.getMessage());
System.out.print("例外原因");
e.printStackTrace();
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("例外說明: "+e.getMessage());
System.out.print("例外原因");
e.printStackTrace();
}
finally
{
System.out.println("錯誤處理結束");
}
System.out.println("Programe end.");
}
}
//丟出例外
public class MythrowException
{
public static void main(String args[])
{
try
{
//取得參數字串
int value = Integer.parseInt(args[0]);
if(value==0)
//丟出ArithmeticException 例外
throw new ArithmeticException("值為0");
}
catch(ArithmeticException e)
{
//處理ArithmeticException例外
System.out.println("例外說明:"+e.getMessage());
System.out.print("例外原因 : ");
e.printStackTrace();
}
finally
{
System.out.println("錯誤處理結束");
}
}
}
[MySQL]取得目前時間用法
select now();
'2012-09-24 18:14:11'
select current_date;
'2012-09-24'
select CURRENT_TIME;
18:15:22
select CURRENT_TIMESTAMP;
'2012-09-24 18:16:28'
'2012-09-24 18:14:11'
select current_date;
'2012-09-24'
select CURRENT_TIME;
18:15:22
select CURRENT_TIMESTAMP;
'2012-09-24 18:16:28'
訂閱:
文章 (Atom)
讓ASP.NET網站在開發除錯時期擁有WEB.CONFIG文件轉換功能
ref: https://blog.kkbruce.net/2016/09/enabling-xml-document-transforms-for-all-asp-net-web-by-develop-time.html#.XoP1KGMzbRY
-
當 IDENTITY_INSERT 設為 OFF 時,無法將外顯值插入資料表 'xx' 的識別資料行中 id 未設定 自動遞增 設定完後 須重新 從資料庫更新模型
-
https://docs.microsoft.com/zh-tw/dotnet/framework/data/transactions/using-system-transactions-in-aspnet <system.web> <co...