所以,经过几个小时的学习MySQL并试图让我的代码工作。我找到了至少两种不同的方法来设置SQL命令。从那时起,我希望在使用C#的MySQL中有一个普遍的问题。
这两个命令有什么区别:
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
和
MySqlCommand cmd;
cmd = conn.CreateCommand();
cmd.Connection = conn;
是一个优先于另一个吗?
我已经运行了两个,两者似乎都可以在我的数据库表中插入数据。我不知道它是否有助于回答它,但这是我的代码:
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();
}
答案 0 :(得分:1)
不,AFAIK他们都是一样的,做同样的事情。 conn.CreateCommand()
实际上会返回一个新的MySqlCommand
实例。
正如Documentation明确指出
创建并返回与之关联的SqlCommand对象 的SqlConnection。