C#和MySQL命令-两个不同的syle?
所以,在学习了几个小时的MySQL并试图让我的代码正常工作之后。我至少找到了两种不同的方法来设置SQL命令。从这一点上,我有一个关于使用C#的MySQL的一般性问题 这两个命令之间的区别是什么:C#和MySQL命令-两个不同的syle?,c#,mysql,C#,Mysql,所以,在学习了几个小时的MySQL并试图让我的代码正常工作之后。我至少找到了两种不同的方法来设置SQL命令。从这一点上,我有一个关于使用C#的MySQL的一般性问题 这两个命令之间的区别是什么: MySqlCommand cmd = new MySqlCommand(); cmd.Connection = conn; 及 一个比另一个好吗 我已经运行了这两个程序,在我的db表中插入数据时,这两个程序似乎都运行得很好。我不知道这是否有助于回答这个问题,但这是我的代码: public stati
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
及
一个比另一个好吗
我已经运行了这两个程序,在我的db表中插入数据时,这两个程序似乎都运行得很好。我不知道这是否有助于回答这个问题,但这是我的代码:
public static void AddSong(Songs s)
{
MySqlConnection conn;
string myConnectionString;
myConnectionString = "server=127.0.0.1;uid=root;" +
"pwd=mysql;database=MySQL_TestDB;";
conn = new MySqlConnection();
conn.ConnectionString = myConnectionString;
try
{
conn.Open();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
string query = "INSERT INTO Songs (Title, Artist) VALUES (" +
"@Title, " +
"@Artist)";
/*
MySqlCommand cmd;
cmd = conn.CreateCommand();
cmd.Connection = conn;
*/
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@Title", s.Name);
cmd.Parameters.AddWithValue("@Artist", s.Artist);
cmd.ExecuteNonQuery();
conn.Close();
}
不,恐怕他们都是一样的,做同样的事
conn.CreateCommand()
实际上返回一个新的MySqlCommand
实例
正如政府明确表示的那样
创建并返回与
SqlConnection
我想这和你的问题是一样的@Terminus,哇,我真的花了将近20分钟寻找答案。我只是不知道该输入什么。谢谢我用谷歌搜索了sql命令和createcommand之间的差异,找到了我的第一个结果。ThoughThank@Rahul和@Terminius之后有几个有趣的结果!虽然链接的文档是针对
SqlCommand
的,但是对于MySqlCommand
类也是一样的。我想知道这是不是故意的?我一直在使用MSSQLServer使用SqlCommand,刚刚开始使用MySQL。我不得不改变一些事情,比如你提到的MySqlCommand
,以及连接字符串(顺便说一句,这花了我很长时间)的一些古怪的事情。再次感谢。@KerryWhite,MySqlCommand
类由MySQL connecter(C#的驱动程序)提供,但它们的底层遵循相同的设计/体系结构。因此,所有不同的RDBMS驱动程序都是相同的。
public static void AddSong(Songs s)
{
MySqlConnection conn;
string myConnectionString;
myConnectionString = "server=127.0.0.1;uid=root;" +
"pwd=mysql;database=MySQL_TestDB;";
conn = new MySqlConnection();
conn.ConnectionString = myConnectionString;
try
{
conn.Open();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
string query = "INSERT INTO Songs (Title, Artist) VALUES (" +
"@Title, " +
"@Artist)";
/*
MySqlCommand cmd;
cmd = conn.CreateCommand();
cmd.Connection = conn;
*/
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = query;
cmd.Parameters.AddWithValue("@Title", s.Name);
cmd.Parameters.AddWithValue("@Artist", s.Artist);
cmd.ExecuteNonQuery();
conn.Close();
}