目前使用的是ODBC來進行連結。
安裝完Visual Studio跟phpMyadmin。
(這裡是參考IIS7 + ASP+ PHP + MySQL + PHPMyadmin 懶人包)
下載ODBC driver mysql-connector-odbc
這邊是下載mysql-connector-odbc-5.1.12-win32.msi(這邊很重要,見※註一)
安裝完成後,打開 控制台>系統管理工具>資料來源(ODBC)進行設定。
到"使用者資料來源名稱">新增>"MySQL ODBC 5.1 Driver"
--
Data Source Name:打個你記得住的,表示這個連結
TCP/IP Server:有安裝phpMyadmin電腦的IP(如果是你自己,就是127.0.0.1)
Port:維持3306
User:登入phpMyadmin的帳號
Password:登入phpMyadmin的密碼
Database:要登入的資料庫名稱
--
按Test,有出現
Test Result
---------------------------
Connection successful
就表示成功了!
按下OK儲存。
※註一:
在這邊我遇到第一個問題:
ERROR [IM014] [Microsoft][ODBC 驅動程式管理員] 指定之 DSN 中的驅動程式和應用程式架構不相符
查了很久很久之後,才發現原來是ODBC驅動的問題。
因為ODBC的驅動程式有32位元跟64位元,
32位元的ODBC driver在C:\Windows\SysWOW64\odbcad32.exe
64位元的ODBC driver在C:\Windows\System32\odbcad32.exe
(雖然打開來畫面都依樣,可是他們其實是不一樣的東西!!!!)
我因為電腦是64位元的win7,所以下載了64位元的ODBC driver
可是因為我的Visual Studio 2010是安裝在C:\Program Files (x86),也就是安裝x86(32位元)
所以才會有這種問題。
解決方式就是在安裝32位元的ODBC driver就可以囉!
開始連接資料庫
(這裡參考VB.NET連接MySQL範例的方法二)
我使用SqlDataSource
所以一開始要加入參考
選擇網站>加入參考>瀏覽>MySql.Data.dll
(請自行尋找有安裝MySql.Data.dll的位置)
接著在a.aspx新增一個SqlDataSource
設定資料來源>選擇剛剛在ODBC上設定的Data Source Name的名稱>幫他命名
以後就用這個連結就可以了!
然後選擇"指定自訂SQL陳述式或預存程序(S)"!一定要選這個!因為ODBC連結的語法有一點點點不一樣!
語法部分
Select: SELECT 欄位名稱 FROM 表單名稱 WHERE (欄位名稱 = @ TextBox1)
Inster: INSERT INTO 表單名稱 (欄位名稱) VALUES (?); ※見註二
Update: UPDATE 表單名稱 SET 欄位名稱 = ? WHERE 篩選的欄位名稱 = ?;
Delect: DELETE FROM 表單名稱 WHERE 篩選的欄位名稱 = ?;
※註二
這裡是第二個大問題。
因為我原本的語法是INSERT INTO 表單名稱 (欄位名稱) VALUES (@欄位名稱);
可是一直出現ERROR [HY000] [MySQL][ODBC Driver][mysqld- -log]Column '我的欄位的名稱' cannot be null
問題是我明明就有輸入值!
最後是看到這篇這篇想說姑且一試...登愣!(心裡暗罵髒話)
然後才發現我原本參考的網站本來就寫?...(艸
留言列表