Visual Studio Express .NET C#(C Shape)連接MySQL資料庫

Microsoft Visual Studio Exrpess是微軟提供的免費而且比較簡單的.NET開發工具,跟一套數萬元的Visual Studio有著許多限制,像是在連接資料庫時就提供了比較少連接選擇方式,雖然可以用ODBC的方式來解決部份的問題,不過效能上還是直接使用Connector比較好。

MySQL提供了一個免費的Connector,可藉由此Connector來直接連接資料庫,只需要加入參考的DLL,再使用連線字串建立連線就可以使用了,不過並無法直接使用Express提供的加入新資料來源(資料庫)精靈來操作。

底下提供一個簡單的範例,利用SQLCommand來進行查詢,回傳結果。

1.安裝My SQL Connector

可由MySQL官方網站下載,請選擇Windows (x86, 32-bit), MSI Installer或是mysql-connector-net-6.3.6.zip其中一個,mysql-connector-net-6.3.6-src.zip是需要自行Complier的原始碼內容。

2.加入參考

可直接於.NET分頁選擇MySQL.Data或是利用瀏覽來加入DLL,二者選一

Read More

JApplet與Web Server做溝通

Applet除非是內部或自己使用時,可以直接使用JDBC來連接資料庫,而一般對外開放的服務如果讓Applet直接連接到資料庫,需要開port讓Clinet 的Applet來使用,在安全性上相對的十分危險。

此時可以利用一個中繼的Sokcet Server或是Web Server來當與資料庫連接的proxy代理服務器,如此Apllet只要連接Web Server,對Server提出需求,而Server會依需求與資料庫做溝通,並回傳Applet要求之資料,如此可以做成多層式的架構來解決Applet資料取得之問題。

AppletWeb1.jpg

範例設計上有一個輸入框JTextField可以輸入要傳給Server的資料內容,而下方的JTextArea是承接從Server回傳的資料內容,按鈕則可進行動作Action。

Read More

[jsp]常用範例-登入及檢查與登出

登入與登出是很常用到的一個網頁功能,而在製作上原理其實不難,當使用者輸入帳號密碼後,傳至程式,檢查資料庫裡使用者表格table是否存在此使用者,如果存在,則在Session裡存入使用者的個人資訊,而登出時只需要清除此Session記錄,檢查是否登入中,則是check Session是否存在。

此範例程式有幾個小功能:

  • 防止沒登入者使用需要登入的頁面
  • 登入檢查,誰是登入者
  • Servert載入時自動執行程式

登入畫面,預設的帳號是pig密碼是1234567

測試有沒有登入-沒登入狀況

Read More

[PHP]利用ODBC連接Sybase 8並解決中文big5問題

windows要用php連接Sybase可以使用php_sybase_ct.dll,只需有這個dll並把c:\windows\php.ini裡的;extension =php_sybase_ct.dll前面那個分號拿掉,就可以像使用mysql一樣使用Sysbase資料庫了,詳細可以參考以下:

sybase_connect("svname","root","passwd")
//跟mysql用法是一樣的
mysql_connect("svname","root","passwd")

不過在舊的版本上似乎連線不上,也可能是設定不對,所以最後選擇了使用ODBC來解決這個連線的問題,不過因為ODBC連接Sysbase 8預設取得的資料是big5的內容,所以需要再經過其它處理來使其產生網頁內容時變成utf-8。

底下是PHP利用ODBC連接資料庫,並且輸出成utf-8的網頁格式:

PHP利用ODBC連接資料庫,並且輸出成utf-8的網頁格式

如果沒有處理的話輸出是中文的亂碼

沒有處理Sybase的話輸出是中文的亂碼

Read More

Sybase 8(舊版)取得rownum或分頁時使用sql語法

Sybase並沒有像mysql的limit方法,也沒有Oracle的rownum可以用,要做出分頁或RowNum並不是十分容易,在網路上找了很多資料,大概的做法都差不多,主要都是先把原先的表格排序後給於編號,並存入一個暫存的table裡,再利用這個table去Select出要的範圍的資料,不過如果資料量十分驚人時是否還可以用呢?最少比直接把資料回傳至前端再來跑for loop快。

底下提供一個利用join方式來刮掉不需要的範圍:

Read More