C#訪問MySQL資料庫(winform+EF)

以前都是C#連接SQLServer,現在MySQL也比較火了,而且是開源跨平台的,這裡連接使用一下,主要是體會一下整個流程,這裡使用的是winform 訪問MYSQL,當然使用winfrom,還是wfp,以及其他的技術這裡不討論,個人覺得這個比較上手快。

工具/原料

VS2013,MYSQL資料庫,SqlDbx

安裝MYSQl資料庫

1、安裝MYSQl資料庫,這裡略過,可以參考此文檔進行安裝。

https://jingyan.baidu.com/article/642c9d34aa809a644a46f717.html

此文檔已經比較細緻了,安裝並不複雜,主要是下一步下一步就行了,要回基本的配置,這裡我的資料庫用戶名還是sa(建議自己建立一個用戶),root的用戶名和密碼我們這裡暫不使用。

連接MYSQL資料庫,可以採用自帶的MySQL Workbench 6.2 CE工具,

登錄後就可以進行建表等操作了,這裡我建立一個資料庫名稱為MY_OA的資料庫,我們直接使用SQL語句執行並建立資料庫然後刷新列表就可以查看到我們建立的資料庫了

如圖(1)(2)(3)(4)對應的步驟,另外建立了資料庫後還需要建立幾張表來存儲數據,這些都是基礎的和SQLserver大同小異的。

腳本如下:

1 CREATE database My_OA

2

3 CREATE TABLE my_oa.sys_user

4 (

5 id INT not NULL AUTO_INCREMENT PRIMARY KEY,

6 userName varchar(32),

7 pwd varchar(32)

8

9 );

當然也可以使用圖形界面來配置,直接滑鼠右鍵來建表,主要是看個人的習慣了,熟悉的話直接SQL句會方便很多也比較快,

這裡我們快速的插入三條數據,便於以後測試使用,因為ID是自增的,所以可以不用管,插入後你會發現ID已經自己有了,只是MYSQL中AUTO_INCREMENT和SQLSEVE的identity的區別

1 INSERT INTO sys_user(userName,pwd) VALUES('51diysoft','123');

2

3 INSERT INTO sys_user (userName,pwd) VALUES('xmd','123');

4

5 INSERT INTO sys_user (userName,pwd) VALUES('hjk','123');

當然說道這裡我們還可以使用VS2013來連接MYSQL資料庫,因為後邊的EF框架要訪問,肯定也能購連接吧,

我們打開VS的【視圖】【伺服器資源】,點到【資料庫連接】右鍵添加「資料庫」,然後就和正常連接SQLServer的步驟一樣了

此處選擇MYSQL就行了,正常情況下安裝MYSQL的時候就會把VS對應的連接驅動等相關內容直接加入的,不用去手動加的,當然看到這裡也是可以連接Oracel資料庫的,紅線標記的地方,道理類似。

下邊需要伺服器的地址,用戶名和密碼,最好測試能夠連接通過,我這裡是sa用戶(注意不是默認的),是自己建立的一個用戶,默認的是root,如果需要root來登錄伺服器的話必須在安裝MYSQL的時候注意勾選,否則就要新建一個用戶來操作。

這裡數據已經有了,另外我們還可以使用SQLdbx、Navicat_Premium_11.0.10等資料庫的客戶端工具來連接,這工具智能提示比較強,而且體積小便於攜帶和維護

下面我們就以SQLdbx為例,講解一下如何連接資料庫,其實都是一樣的連接,如下:

SQldbx的下載地址和本次的SQl腳本例子可以到百度雲下載:

第一步:

需要選擇連接的資料庫類型(MYSQL),這裡也是可以連接其他類型資料庫的,自己看吧,也可以試試

第二步:

也是輸入用戶名和密碼連接就行了。

資料庫可以為空,等登陸後在選擇資料庫也可以。

另外我們對比一下資料庫表的複製,SQLServer我們直接可以這樣複製(在select * from 表)的中間加入一個into 新表:

SELECT * INTO sys_user3 FROM sys_user

而在MYSQL中我們直接這樣寫是報錯的:只有傳統的建表再導數據了,比如

CREATE TABLE test

(

SELECT * FROM sys_user

)

,二期默認生成的這個id不會自動增長的,需要注意一下,我們主要是為了備份表的數據。

不同的資料庫肯定有些小區別,慢慢研究吧。

如何使用VS2013建立MYSQL的項目(這裡講winform吧)

上邊講的有點多了,趕緊的

(1)、VS【文件】=》【新建】=》【項目】略過,注意選擇對應的項目類型默認有winform和asp .net的自己選擇,另外我們還需要選擇EF的版本,

如何對Entity Framework沒啥感覺沒關係,簡單來說就是微軟幫你連接了資料庫的是一個實體框架,讓你操作起來比較方便,不用單獨去寫SQLhelper並能和linq語句lamda表達式等結合起來,提高開發效率,這個是比較實用的。

參考介紹:

http://baike.baidu.com/link?url=jDHhtM4QGOpQJmgY9bCe24VJy4kgKAvsuRHJgGmuXlGilJ7lmVVzQkoVMX9KlYCmdagGACDm8042dQnR-E6_nq

另外還要說明的是EF的版本,我這裡使用的是EF6,可以通過nuget工具包管理來獲得最新版本

以下是建立VS項目的步驟截圖:

以上步驟首先是新建一個MYSQL的連接,然後選擇對應的表生成對應的EF實體框架,這樣一個EF的winform項目基本就建立好了。

查看winfrom項目結構

查看winfrom項目結構

打開對應的*.tt文件,這些就是EF自動生成的連接資料庫後的相關實體類,就不用自己去建立類了(必要時需要自己建立Vew_Sys_User)

namespace MySql_Windows_Forms_Project2

{

using System;

using System.Collections.Generic;

public partial class sys_user

{

public int id { get; set; }

public string userName { get; set; }

public string pwd { get; set; }

}

}

然後我們還是調用一下EF生成的實體吧,做一個簡單的登錄頁面和系統主頁。

登錄頁面的實現

winform如何製作登錄頁面,基本流程就是拖動幾個lable和textbox,並設置基本的屬性,比如密碼框為星號,窗口的起始位置為CenterScreen,是否最小化等等

我們就大概看一下代碼吧,很簡單的,使用的部分Linq的查詢,結合EF框架操作,比較方便

(主要是體會流程,沒有任何美化)

1      // 獲取輸入的用戶名和密碼

2             using (MyOAModelEntities db = new MyOAModelEntities())

3             {

4                 string strUserName = txtUserName.Text.Trim();

5                 string strPwd = txtPwd.Text.Trim();

6                 //查詢資料庫中的記錄

7                 var userinfo = (from m in db.sys_user

8                                 where m.userName == strUserName && m.pwd == strPwd

9                                 select m).FirstOrDefault();

12                 if (userinfo != null)

13                 {

14                     CurrentUserInfo = userinfo;//標記全局的用戶 方便其他地方使用

15                     //  MessageBox.Show("登錄成功!");

16                     this.Hide();

17                     MainWindow m = new MainWindow();

18                     m.ShowDialog();

19                 }

20                 else

21                 {

22                     MessageBox.Show("用戶名或者密碼錯誤!");

23                 }

Code下載地址:

http://pan.baidu.com/s/18n54i

相關文章

  1. LabVIEW訪問MySQL資料庫的一種簡單方法

    目前比較流行的資料庫有很多,如大型的Oracel資料庫,SQL Server資料庫,以及中小型的Access資料庫,MySQL資料庫和SQLite資料庫.LabVIEW都能夠跟上述的資料庫進行連接和訪 ...
  2. php訪問mysql資料庫的方法

    PHP訪問mysql資料庫的方法,大致有三種:分為普通方法,對象方法和pdo方法,現在我們來看看 方法/步驟 普通方法,就是利用PHP面向過程的方式,寫代碼. $mysql_server=" ...
  3. php訪問MYSQL資料庫並輸出表內容的方法

    通過php腳本程序去管理MYSQL伺服器中的數據,必須建立連接,然後才能通過PHP中的函數向伺服器發送SQL查詢語句.通過調用mysqli_connect()函數.下面講講使用方法. 工具/原料 安裝 ...
  4. 外網如何訪問內網的mysql資料庫

    Mysql資料庫伺服器部署在內網環境,區域網內可以訪問mysql資料庫,內網也可以上外網.利用nat123如何實現外網訪問到內網mysql資料庫?下面且看我的具體實現步驟. 方法/步驟 首先要確保內網 ...
  5. 遠程MySQL資料庫無法訪問設置

    如果MySQL資料庫伺服器和WEB伺服器不在同一台機器上,安裝好MySQL後,需要進一步做設置,將MySQL資料庫的訪問權限放開,才可以訪問. 工具/原料 mysql-installer-5.5.25 ...
  6. nat123外網怎樣訪問內網mysql資料庫

    內網使用nat123動態域名解析,將域名實時固定解析到路由公網IP,然後在路由器上做mysql資料庫埠映射.外網訪問mysql資料庫時,使用動態解析域名.外網訪問內網資料庫簡單教程. 方法/步驟 明 ...
  7. 在Windows環境下訪問linux中MySQL資料庫的配置

    一般中小型網站的開發都選擇 MySQL 作為伺服器端的資料庫,而前端開發一般都選擇Windows環境,所以在Windows環境下訪問linux中MySQL資料庫就顯得尤為重要. 工具/原料 Windo ...
  8. 如何實現外網訪問內網mysql資料庫?

    路由器分配的是動態公網IP,且有路由器登錄管理權限.如何實現外網訪問內網mysql資料庫? 工具/原料 內網 網絡環境 nat123客戶端 方法/步驟 明確mysql資料庫內網訪問地址埠,確保mys ...
  9. 外網訪問內網mysql資料庫-全埠映射方法

    Mysql資料庫伺服器部署在內網環境,區域網內可以訪問mysql資料庫,內網也可以上外網.如何實現外網訪問內網mysql資料庫?內網使用nat123埠映射之全埠映射,將內網mysql資料庫主機地址 ...
  10. mysql資料庫怎麼設置允許其他電腦訪問

    有時候我們在使用mysql資料庫的時候,想設置允許其他電腦訪問,怎麼設置呢,下面來分享一下方法 工具/原料 mysql資料庫 設置允許其他電腦訪問 方法/步驟 第一步我們首先按win+R鍵打開運行,輸 ...
  11. Struts2 MySQL資料庫訪問

    Struts是一個MVC框架,而不是一個資料庫框架,但它提供了極好的支持JPA/ Hibernate集成 方法/步驟 在機器上安裝MySQL,我創建了一個新的資料庫稱為"struts_tut ...
  12. 外網訪問內網mysql資料庫方法

    路由器分配的是動態公網IP,且有路由器登錄管理權限.如何實現外網訪問內網mysql資料庫? mysql資料庫伺服器本機是動態公網IP.如何實現外網訪問mysql資料庫. 解決方案,內網使用nat123 ...
  13. 在ActiveReports中使用MySQL資料庫

    隨著去IOE的不斷進行,以阿里為代表的企業,MySQL資料庫在生成環境中所占的比例越來越大.有很多用戶詢問我們是否支持MySQL資料庫.ActiveReports 支持MySQL資料庫,可以使用MyS ...
  14. MySQL資料庫安裝與配置

    MySQL資料庫安裝在配置PHP+Apache+MySQL開發環境中是必不可少的一部分,懂得怎麼安裝與配置MySQL資料庫是相當重要的,接下來就是安裝和配置MySQL資料庫 工具/原料 MySQL軟體 ...
  15. mysql資料庫中刪除索引:

    mysql資料庫刪除索引,怎麼做? 以下是實例: drop index 索引名 on 表名: 這裡說明一下 drop index 是刪除索引的關鍵詞,然後是索引名 接著是on關鍵詞,接著是表名即可. ...
  16. 如何利用MySQL資料庫鎖定和解鎖資料庫表

    MySQL資料庫支持的存儲引擎的表進行表級鎖定,利用lock tables可以鎖定用於當前線程,unlock tables 可以釋放當前線程獲得的任何鎖定.操作這兩個命令可以鎖定線程或解除鎖定線程,下 ...
  17. 批量處理mysql資料庫還原

    批量處理mysql資料庫還原教程 工具/原料 多備份帳戶 方法/步驟 首先要識別mysql資料庫的備份方式,如果是打包備份的方式,只要將打包的文件解壓,然後將資料庫覆蓋到原位置即可 如果是使用的多備份 ...
  18. 怎樣正確安裝綠色版的MySql資料庫

    對於有自己的伺服器或想配置伺服器的朋友,很多人都會安裝PHP環境+MySQL資料庫.然而很多人對於MySQL資料庫綠色版安裝方法還不是很了解,下面就為你介紹下MySQL資料庫綠色版是如何正確安裝的. ...
  19. 圖解MySQL資料庫表操作(二)

    MySQL資料庫中的數據存儲在被稱為表(tables)的資料庫對象中.表是相關的數據項的集合,它由列(欄位)和行(記錄)組成. 本篇經驗將詳細介紹數據表操作中的列操作.約束操作.修改列及數據表更名,希 ...
  20. mysql資料庫自動備份工具

    一款簡單好用的Mysql資料庫自動備份工具,媽媽再也不用擔心我的網站數據丟失了!Mysql資料庫備份,So easy ! 工具/原料 註冊多備份帳號 方法/步驟 登錄"多備份"官網 ...