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

來源:互聯網
上載者:User

標籤:

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

 

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

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

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

2、串連MYSQL資料庫,可以採用內建的MySQL Workbench 6.2 CE工具

                      

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

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


指令碼如下:

CREATE database My_OA

CREATE TABLE my_oa.sys_user
(
id INT not NULL AUTO_INCREMENT PRIMARY KEY,
userName varchar(32),
pwd varchar(32)

);

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

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

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

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

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不會自動成長的,需要注意一下,我們主要是為了備份表的資料。

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

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

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

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

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

參考介紹:

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

 

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

 

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

以上步驟首先是建立一個MYSQL的串連,然後選擇對應的表產生對應的EFEntity Framework,這樣一個EF的winform項目基本就建立好了。

 

4、查看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; }
}
}

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.