我遇到一个奇怪的问题,我对MySQL DB进行INSERT查询
string site = txtSite.Text;
string query = "INSERT INTO `site`(`id`, `url`, `status`) VALUES (NULL,?url, 1)";
MySqlCommand cmd = new MySqlCommand(query);
cmd.Parameters.AddWithValue("?url", site);
//cmd.Parameters.AddWithValue("?url", "abc.com");
cmd.Connection = (MySqlConnection)connection;
cmd.Prepare();
cmd.ExecuteNonQuery();
1。如果我进入" abc.com"进入文本框txtSite,并运行代码,它说错误
命令执行期间遇到致命错误。
你能有任何想法吗?
答案 0 :(得分:1)
我认为这是一个语法问题。以下代码可能适合您。
string site = txtSite.Text;
string query = "INSERT INTO `site`(`id`, `url`, `status`) VALUES (NULL, @url, 1)";
MySqlClientconn conn = new MySqlConnection();
conn.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = conn;
cmd.CommandText = query;
cmd.Prepare();
cmd.Parameters.AddWithValue("@url", site);
cmd.ExecuteNonQuery();
我假设您正在使用MySQL Connector / Net库。完成后,不要忘记关闭连接并处理命令和连接。
<强>参考强>
有关使用MySQL Connector / Net库的更多信息,请参阅以下内容: https://dev.mysql.com/doc/connector-net/en/connector-net-programming-prepared-preparing.html