I have a console application (in Visual Studio 2013 Ultimate) where I want to insert data in my database.
How do I need to connect and insert data in this application?
The query for my database is:
INSERT INTO test.user (id, name) VALUES (NULL, 'Some name');
The code what I have now is:
x
namespace myDatabaseApp
{
class Program{
static void Main(string[] args){
Console.WriteLine("Insert a name into the database:");
string name = Console.ReadLine();
//Code for inserting row in database
Console.WriteLine("You have succesfully inserted the name into the database!");
Console.ReadLine();
}
}
}
I am using my localhost
as database, my username is root
and I have no password.
I already have installed the MySQL Connector for C#. I don’t know if I need it to use.
Advertisement
Answer
Pasting from: https://zetcode.com/csharp/mysql/
static void Main()
{
string cs = @"server=localhost;userid=user12;
password=34klq*;database=mydb";
MySqlConnection conn = null;
try
{
conn = new MySqlConnection(cs);
conn.Open();
string stm = "SELECT VERSION()";
MySqlCommand cmd = new MySqlCommand(stm, conn);
string version = Convert.ToString(cmd.ExecuteScalar());
Console.WriteLine("MySQL version : {0}", version);
} catch (MySqlException ex)
{
Console.WriteLine("Error: {0}", ex.ToString());
} finally
{
if (conn != null)
{
conn.Close();
}
}
}
Just keep in mind that instead of ExecuteScalar you may also use ExecuteNonQuery (for instert/update/delete etc. commands) and ExecuteReader (for commands that return data, e.g. select commands).