MySql funktioniert nicht in Visual Studio 2012 : Der Typ oder namespace-name 'MySql' konnte nicht gefunden werden
Angesichts dieser code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//Include mysql client namespace.
using MySql.Data.MySqlClient; //That one doesn't work !!!
using System.Configuration;
namespace CSharpMySqlSample
{
public partial class frmMySqlSample : Form
{
//Read connection string from application settings file
string ConnectionString = ConfigurationSettings.AppSettings["ConnectionString"];
MySqlConnection connection;
MySqlDataAdapter adapter;
DataTable DTItems;
public frmMySqlSample()
{
InitializeComponent();
}
private void frmMySqlSample_Load(object sender, EventArgs e)
{
//Initialize mysql connection
connection = new MySqlConnection(ConnectionString);
//Get all items in datatable
DTItems = GetAllItems();
//Fill grid with items
dataGridView1.DataSource = DTItems;
}
//Get all items from database into datatable
DataTable GetAllItems()
{
try
{
//prepare query to get all records from items table
string query = "select * from items";
//prepare adapter to run query
adapter = new MySqlDataAdapter(query, connection);
DataSet DS = new DataSet();
//get query results in dataset
adapter.Fill(DS);
//Set the UPDATE command and parameters.
adapter.UpdateCommand = new MySqlCommand(
"UPDATE items SET ItemName=@ItemName, Price=@Price, AvailableQuantity=@AvailableQuantity, Updated_Dt=NOW() WHERE ItemNumber=@ItemNumber;",
connection);
adapter.UpdateCommand.Parameters.Add("@ItemNumber", MySqlDbType.Int16, 4, "ItemNumber");
adapter.UpdateCommand.Parameters.Add("@ItemName", MySqlDbType.VarChar, 100, "ItemName");
adapter.UpdateCommand.Parameters.Add("@Price", MySqlDbType.Decimal, 10, "Price");
adapter.UpdateCommand.Parameters.Add("@AvailableQuantity", MySqlDbType.Int16, 11, "AvailableQuantity");
adapter.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
//Set the INSERT command and parameter.
adapter.InsertCommand = new MySqlCommand(
"INSERT INTO items VALUES (@ItemNumber,@ItemName,@Price,@AvailableQuantity,NOW());",
connection);
adapter.InsertCommand.Parameters.Add("@ItemNumber", MySqlDbType.Int16, 4, "ItemNumber");
adapter.InsertCommand.Parameters.Add("@ItemName", MySqlDbType.VarChar, 100, "ItemName");
adapter.InsertCommand.Parameters.Add("@Price", MySqlDbType.Decimal, 10, "Price");
adapter.InsertCommand.Parameters.Add("@AvailableQuantity", MySqlDbType.Int16, 11, "AvailableQuantity");
adapter.InsertCommand.UpdatedRowSource = UpdateRowSource.None;
//Set the DELETE command and parameter.
adapter.DeleteCommand = new MySqlCommand(
"DELETE FROM items "
+ "WHERE ItemNumber=@ItemNumber;", connection);
adapter.DeleteCommand.Parameters.Add("@ItemNumber",
MySqlDbType.Int16, 4, "ItemNumber");
adapter.DeleteCommand.UpdatedRowSource = UpdateRowSource.None;
//return datatable with all records
return DS.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return null;
}
private void btnSave_Click(object sender, EventArgs e)
{
try
{
//Save records in database using DTItems which is datasource for Grid
adapter.Update(DTItems);
//Refresh grid
DTItems = GetAllItems();
dataGridView1.DataSource = DTItems;
MessageBox.Show("Items saved successfully...");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnDelete_Click(object sender, EventArgs e)
{
if (dataGridView1.SelectedRows.Count > 0)
{
//Delete a row from grid first.
dataGridView1.Rows.Remove(dataGridView1.SelectedRows[0]);
//Save records again. This will delete record from database.
adapter.Update(DTItems);
//Refresh grid. Get items again from database and show it in grid.
DTItems = GetAllItems();
dataGridView1.DataSource = DTItems;
MessageBox.Show("Selected item deleted successfully...");
}
else
{
MessageBox.Show("You must select entire row in order to delete it.");
}
}
}
}
Nach der Kompilierung bekomme ich :
error CS0246: The type or namespace name 'MySqlConnection' could not be found (are you missing a using directive or an assembly reference?)
Aber ich überprüfte die Stecker :
Und es installiert ..
Also, was ist falsch ?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie auf Verweis hinzufügen, um
MySql.Data.dll
aber es ist besser, Sie können diesedll
als Paket mit NuGetunten ist der Paket-Manager-Konsole den Befehl
Fügen Sie einen Verweis aus dem Projekt in die
MySql.Data.dll
als gut.using
nicht-Baugruppen zur Verfügung. Es erlaubt Ihnen nur die Verwendung von Einträgen aus einem namespace ohne Angabe von namespace-jedes mal.Müssen Sie es als Verweis hinzufügen
Werden wir das hinzufügen der Unterstützung für VS 2012 in Connector/NET 6.5.5 und später mit 6,6.x-version http://forums.mysql.com/read.php?38,546265,564533#msg-564533
und geben Sie einen link, um zu testen, ein trick
http://social.technet.microsoft.com/wiki/pt-br/contents/articles/10476.instalando-mysql-connector-no-visual-studio-2011-beta.aspx
Finden Sie diese Antwort
Nur eine Idee,
Sieht aus wie du bist, fehlt MySql.Die Daten in Ihrem Projekt, das Sie erklären können, in Ihrer Website.config
Stellen Sie sicher, dass Ihr web.config richtig konfiguriert ist.
web.config
Datei, aber gute Ratschläge für die Zukunft auf.Meine Lösung:
Goto Projekt->Verweis Hinzufügen->Erweiterungen
Hier fügen Sie MySql.Daten und