从asp.net页面向mysql查询传递动态参数时出现问题
我需要使用asp.net/C以编程方式读取excel工作表,并将获得的数据写入mysql表。excel工作表包含大约50列和2000条记录。我能够从excel工作表读取数据并将其存储在数据集中。我使用以下代码将数据写入mysql桌子从asp.net页面向mysql查询传递动态参数时出现问题,mysql,asp.net,excel,Mysql,Asp.net,Excel,我需要使用asp.net/C以编程方式读取excel工作表,并将获得的数据写入mysql表。excel工作表包含大约50列和2000条记录。我能够从excel工作表读取数据并将其存储在数据集中。我使用以下代码将数据写入mysql桌子 for (int i = 1; i <= myDataSet1.Tables[0].Rows.Count - 1; i++) { MySqlCommand cmd = new MySqlComman
for (int i = 1; i <= myDataSet1.Tables[0].Rows.Count - 1; i++)
{
MySqlCommand cmd = new MySqlCommand();
for (int j = 0; j <= myDataSet1.Tables[0].Columns.Count - 1; j++)
{
paramset[j] = myDataSet1.Tables[0].Rows[i][j].ToString();
cmd.Parameters.AddWithValue("val" + j, paramset[j]);
}
cmd.CommandText = "Insert into faqimport values(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,val11,val12,val13,val14,val15,val16,val17,val18,val19,val20,val21,val22,val23,val24,val25,val26,val27,val28,val29,val30,val31,val32,val33,val34,val35,val36,val37,val38,val39,val40,val41,val42)";
cmd.Connection=con;
cmd.CommandType = CommandType.Text;
int x=cmd.ExecuteNonQuery;
}
for(int i=1;i我认为“val0,val1..”没有被添加到命令中的参数替换。可能是因为您没有在它们前面加“@”前缀吗?(“@val0,@val1..”)
对于AddWithValue()也一样谢谢,在我将“val0”更新为“@val0”后,这似乎起作用了……但为什么它不接受参数为“val0”?Mysql同时接受“val0”和“@val0”。对吗?还有一件事是,将所有数据插入数据库大约需要一分钟。有什么方法可以减少所消耗的时间吗?有什么方法可以获取列的数据类型吗来自excel工作表?请帮助。。