作者 主題: C#連接MYSQL時發生問題  (閱讀 12850 次)

0 會員 與 1 訪客 正在閱讀本文。

cococowvwv

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
C#連接MYSQL時發生問題
« 於: 2009-06-20 02:23 »
我是用Connector的方式下去連的,版本是6.0.3的,我的studio是2008 ,net framework3.5的,
但是我程式打好之後執行會一直出現

錯誤   1   型別 'System.Data.Common.DbConnection' 是定義在未參考的組件中。您必須加入參考至組件 'System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'。


這樣的錯誤訊息點它兩下後游標會跑到private MySqlConnection sqlConnection;這裡的最後面sqlConnection,這是什麼原因呢???我請同學看同學自己下去寫也發生跟我一樣的情形。

我有加入MySq;.Data.dll的參考組件。

拜託各位高手救救我,這個問題困擾我很久了

以下是我的程式碼

代碼: [選擇]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        string sConnectString;
        private MySqlConnection sqlConnection;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            sConnectString = "SERVER=RFID;" +
                "DATABASE=epcis;" +
                "UID=root;" +
                "PASSWORD=rfid14;";
            MySqlConnection connection = new MySqlConnection(sConnectString);
            MySqlCommand command = connection.CreateCommand();
            connection.Open();
            MessageBox.Show("連結成功");
            connection.Close();

            


        }
    }
}


[attachment=1]
[attachment=2]
« 上次編輯: 2009-06-20 15:26 由 cococowvwv »

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: C#連接MYSQL時發生問題
« 回覆 #1 於: 2009-06-20 03:59 »
專案的參考裏面有 System.Data.dll 嗎?理論上預設都會有,但錯誤訊息是說沒有這個參考。
如果有的話,把專案檔放上來我幫你看看。

cococowvwv

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
回覆: C#連接MYSQL時發生問題
« 回覆 #2 於: 2009-06-20 15:27 »
專案的參考裏面有 System.Data.dll 嗎?理論上預設都會有,但錯誤訊息是說沒有這個參考。
如果有的話,把專案檔放上來我幫你看看。

我已經把專案PO上去了!!!
我PO兩個
一個是Visual studio 2008
一個是Visual studio 2005

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: C#連接MYSQL時發生問題
« 回覆 #3 於: 2009-06-20 17:07 »
你這是智慧型裝置的專案,用的是 .NET Compact Framework,當然不能用給完整 .NET Framework 用的 MySql.Data.dll。
Connector 有出給 .NET Compact Framework 用的版本,就是 MySql.Data.CF.dll, 所以把 MySql.Data.dll 的參考移除,然後加入 MySql.Data.CF.dll 的參考就可以了。

cococowvwv

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
回覆: C#連接MYSQL時發生問題
« 回覆 #4 於: 2009-06-20 19:17 »
你這是智慧型裝置的專案,用的是 .NET Compact Framework,當然不能用給完整 .NET Framework 用的 MySql.Data.dll。
Connector 有出給 .NET Compact Framework 用的版本,就是 MySql.Data.CF.dll, 所以把 MySql.Data.dll 的參考移除,然後加入 MySql.Data.CF.dll 的參考就可以了。


那這樣在using那裡需要做什麼改變嗎??
要加東西上去嗎??
我改用MySql.Data.CF.dll
之後他會出現這樣的問題 :  錯誤   2   找不到型別或命名空間名稱 'Form1' (您是否遺漏 using 指示詞或組件參考?)   

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: C#連接MYSQL時發生問題
« 回覆 #5 於: 2009-06-20 23:49 »
倒是不用,MySql.Data.CF.dll 跟 MySql.Data.dll 的架構幾乎完全一樣。
你的錯誤是因為 Form1 的命名空間在 WindowsFormsApplication1,但 Program.cs 在 SmartDeviceProject1 而且也沒有把 WindowsFormsApplication1 加到 using
要不就是把 WindowsFormsApplication1  加到 Program.cs 的 using, 或直接 Application.Run(new WindowsFormsApplication1.Form1());

命名空間跟組件參考是基本中的基本,建議先弄清楚,要不然你之後還是會碰到很多釘子:
http://msdn.microsoft.com/zh-tw/library/f1yh62ef.aspx

cococowvwv

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
回覆: C#連接MYSQL時發生問題
« 回覆 #6 於: 2009-06-21 00:30 »
倒是不用,MySql.Data.CF.dll 跟 MySql.Data.dll 的架構幾乎完全一樣。
你的錯誤是因為 Form1 的命名空間在 WindowsFormsApplication1,但 Program.cs 在 SmartDeviceProject1 而且也沒有把 WindowsFormsApplication1 加到 using
要不就是把 WindowsFormsApplication1  加到 Program.cs 的 using, 或直接 Application.Run(new WindowsFormsApplication1.Form1());

命名空間跟組件參考是基本中的基本,建議先弄清楚,要不然你之後還是會碰到很多釘子:
http://msdn.microsoft.com/zh-tw/library/f1yh62ef.aspx

這個問題  我用2005下去執行就不會發生這個問題,

現在想請問一下!! 像我是連結MYSQL,那我在studio中需要到最上方的工具裡去點選連接至資料庫,
然後選擇MYSQL DataBase 嗎??
因為我的MYSQL資料庫是裝在我電腦裡,打算先來連成功,但是之前的問題解決後,現在就是一直無法連進資料庫。

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: C#連接MYSQL時發生問題
« 回覆 #7 於: 2009-06-21 02:10 »
因為你 2005 的 Form1 跟 Program 的命名空間都是 DeviceApplication4...跟用 2005/2008 沒關係,概念都一樣,重點是你瞭解他怎麼運作的就好了。
連接資料庫那個是給你管理流覽資料庫資訊用的而已,對寫程式碼沒有幫助。
你的是智慧型裝置的專案,你自然要先考慮這個:裝置是否連的到 MySQL 伺服器。
Visual Studio 在執行智慧型裝置的專案的時候會用裝置模擬器,那你是不是先要確定模擬的裝置跟你的電腦之間有沒有一個網路?

cococowvwv

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
回覆: C#連接MYSQL時發生問題
« 回覆 #8 於: 2009-06-21 20:54 »
因為你 2005 的 Form1 跟 Program 的命名空間都是 DeviceApplication4...跟用 2005/2008 沒關係,概念都一樣,重點是你瞭解他怎麼運作的就好了。
連接資料庫那個是給你管理流覽資料庫資訊用的而已,對寫程式碼沒有幫助。
你的是智慧型裝置的專案,你自然要先考慮這個:裝置是否連的到 MySQL 伺服器。
Visual Studio 在執行智慧型裝置的專案的時候會用裝置模擬器,那你是不是先要確定模擬的裝置跟你的電腦之間有沒有一個網路?


不好意思  請問燿怎麼去確定模擬的裝置跟電腦之間有沒有一個網路呢?

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八

cococowvwv

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
回覆: C#連接MYSQL時發生問題
« 回覆 #10 於: 2009-06-22 10:07 »
你好!! 我有去確定 裝置 跟電腦是否有一條網路了,

但是我執行程式時,
會在connection.Open();行出現MissingManifestResourceException未處裡

我有貼上我執行出現的問題(只是 程式 跟我所發問的程式不同!! 但是兩個程式都會出現相同的問題!都是出現在XXXX.Open();這裡)


[attachment=1]

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: C#連接MYSQL時發生問題
« 回覆 #11 於: 2009-06-22 11:04 »
這我就不確定了,說老實話我從沒開發過 Windows Mobile 的程式,也從沒用過 MySQL Connector for .NET,也懶得架 MySQL 幫你測試。但 Google 有找到一篇你可以參考看看:
http://jameswho.blogspot.com/2004/06/missingmanifestresourceexception.html