如何插入以&#34开头的值; @"在MySQL表中?

时间:2016-12-01 10:00:31

标签: c# mysql mysql-connector

我正在尝试在MySQL表中插入大量数据。 由于性能问题,我正在填写List<string>并使用此列表生成我的命令字符串,以便对我的所有行执行唯一插入。

这是我的代码:

StringBuilder cmdText = new StringBuilder("INSERT INTO my_Table (ColumnA, ColumnB) VALUES ");

        List<string> aux = new List<string>();

        using (MySqlConnection conn = new MySqlConnection(connString))
        {
            foreach (DataRow row in dataTable.Rows)
            {
                aux.Add(string.Format("('{0}','{1}')", row[0].ToString(), row[1].ToSTring()));
            }

            cmdText.Append(string.Join(",", aux));
            cmdText.Append(";");
            conn.Open();
            using (MySqlCommand cmd = new MySqlCommand(cmdText.ToString(), conn))
            {
                cmd.CommandType = CommandType.Text;
                cmd.CommandTimeout = 0;
                cmd.ExecuteNonQuery();
            };

这样,我的cmdText的结果最终是这样的:

INSERT INTO my_Table (ColumnA, ColumnB) VALUES ('Value1','Value2') ('Value3','Value4') ...;

在相同的插入物中有大约500k行。

这一行中的一行或多行可以包含以&#39; @&#39;

开头的值

我没有使用参数(&#39; @参数&#39;),但是当我执行我的应用程序时,

我收到这样的错误:

  

命令执行期间遇到致命错误。   &#34;参数&#39; @ GMAIL.COM&#39;必须定义。&#34;

@ gmail.com是一个值,而不是参数。但它仍被解释为@parameter。

任何人都知道如何表明这不是一个参数而是一个值?

0 个答案:

没有答案