C# 列计数与第1c行的值计数不匹配
我正在尝试将数据从xls加载到mysql数据库,但出现以下错误:C# 列计数与第1c行的值计数不匹配,c#,mysql,excel,C#,Mysql,Excel,我正在尝试将数据从xls加载到mysql数据库,但出现以下错误: Column count doesn't match value count at row 1 在这个循环中,我尝试从excel的第2列中迭代选择所有值,并将其插入db(不包括第一行),因为xls中的第一行是我的列的名称。行数是487 for (int x = 2; x < rowCount; x++) { string str = xlRange.Cells[x, 2].T
Column count doesn't match value count at row 1
在这个循环中,我尝试从excel的第2列中迭代选择所有值,并将其插入db(不包括第一行),因为xls中的第一行是我的列的名称。行数是487
for (int x = 2; x < rowCount; x++)
{
string str = xlRange.Cells[x, 2].Text;
string query = "INSERT INTO feture (F1) VALUES (" + str + ")";
MessageBox.Show(x.ToString());
MySqlCommand cmd = new MySqlCommand(query, conect);
cmd.ExecuteScalar();
}
我哪里有问题?Thx字符串值必须用单引号括起来 更改: 致: 您需要对值使用单引号,但更重要的是,您应该使用参数化查询,并安装字符串连接:
string query = "INSERT INTO feture (F1) VALUES (@value)";
MySqlCommand cmd = new MySqlCommand(query, conect);
cmd.Parameters.AddWithValue("@value", str);
cmd.ExecuteScalar();
如果您想知道为什么要对SQL注入进行一些研究
string query = "INSERT INTO feture (F1) VALUES ( '" + str + "' )";
string query = "INSERT INTO feture (F1) VALUES (@value)";
MySqlCommand cmd = new MySqlCommand(query, conect);
cmd.Parameters.AddWithValue("@value", str);
cmd.ExecuteScalar();