csv上传数据库中的问题 [英] problem in csv upload in database

查看:81
本文介绍了csv上传数据库中的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

错误:您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在D:\ Book1111.csv附近使用正确的语法INSERT INTO TABLE sla1 FIELDS TERMINATED BY'',''LINES TERMINAT''在第1行

我的代码.........

string path = FileUpload1.PostedFile.FileName;

string ext = Path.GetExtension(path);

string contenttype = string.Empty;

if(!FileUpload1.HasFile)

{



ClientScript.RegisterStartupScript(Page.GetType(),validation,< script language =''javascript''> alert(''请选择一个文件'')< / script>); //如果文件上传者没有选择文件



}

else if(FileUpload1.HasFile)

{

试试

{

开关(分机)

{

case。 csv:



contenttype =application / vnd.ms-excel;



break; < br $>
}

string year = ddlyear.SelectedItem.ToString();

string month = ddlmonth.SelectedItem.ToString();

MySqlConnection exclecon = new MySqlConnection(Server = Localhost; DataBase = password1; user = root; password = nectar);

string insquery =INSERT INTO sla(month,year,contenttype) )VALUES(@month,@ year,@ content类型);

string uploadQry =LOAD DATA INFILE+ path +INSERT INTO TABLE sla1 FIELDS TERMINATED BY'',''终止于''\\'n''IGNORE 1 LINES;

MySqlCommand mycom =新的MySqlCommand(insquery,exclecon);

mycom.Parameters.AddWithValue(@ month,month);

mycom.Parameters.AddWithValue(@ year,year );

mycom.Parameters.Add(@ contenttype,MySqlDbType.VarChar).Value = contenttype;



MySqlCommand myCUpload = new MySqlCommand(uploadQry,exclecon);

exclecon.Open();

mycom.ExecuteNonQuery();

myCUpload.ExecuteNonQuery();



ClientScript.RegisterStartupScript(Page.GetType(),validation,< script language =''javascript''> alert(''File uploaded成功'')< / script>);



}



catch(Exception ex)

{

Label4.Text =错误:+ ex.Message.ToString();



}

}

}

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''D:\Book1111.csv INSERT INTO TABLE sla1 FIELDS TERMINATED BY '','' LINES TERMINAT'' at line 1
my code.........
string path = FileUpload1.PostedFile.FileName;
string ext = Path.GetExtension(path);
string contenttype = string.Empty;
if (!FileUpload1.HasFile)
{

ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language=''javascript''>alert(''Please select a file'')</script>"); //if file uploader has no file selected

}
else if (FileUpload1.HasFile)
{
try
{
switch (ext)
{
case ".csv":

contenttype = "application/vnd.ms-excel";

break;
}
string year = ddlyear.SelectedItem.ToString();
string month = ddlmonth.SelectedItem.ToString();
MySqlConnection exclecon = new MySqlConnection("Server=Localhost;DataBase=password1;user=root;password=nectar");
string insquery = "INSERT INTO sla (month, year, contenttype) VALUES(@month, @year, @contenttype)";
string uploadQry = "LOAD DATA INFILE " + path + " INSERT INTO TABLE sla1 FIELDS TERMINATED BY '','' LINES TERMINATED BY ''\n'' IGNORE 1 LINES";
MySqlCommand mycom = new MySqlCommand(insquery, exclecon);
mycom.Parameters.AddWithValue("@month", month);
mycom.Parameters.AddWithValue("@year", year);
mycom.Parameters.Add("@contenttype", MySqlDbType.VarChar).Value = contenttype;

MySqlCommand myCUpload = new MySqlCommand(uploadQry, exclecon);
exclecon.Open();
mycom.ExecuteNonQuery();
myCUpload.ExecuteNonQuery();

ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language=''javascript''>alert(''File uploaded Successfully '')</script>");

}

catch (Exception ex)
{
Label4.Text = "Error: " + ex.Message.ToString();

}
}
}

推荐答案

1)用单引号括起查询中的路径。 />
1) Enclose the path in your query with single quotes.
string uploadQry = "LOAD DATA INFILE '" + path + "' INSERT INTO TABLE sla1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES";



2)从查询中删除INSERT命令。


2) Remove INSERT command from your Query.

string uploadQry = "LOAD DATA INFILE '" + path + "' INTO TABLE sla1 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES";


Hi ..



也可以在mysql命令promt窗口写下打击代码。

一旦尝试它。



>> LOAD DATA LOCAL INFILEfilepathINTO TABLE databasename.tablename FIELDS TERMINATED BY'',''LINESATED BY''\ n'';



它可能对你有帮助!
Hi..

Write the blow code on mysql command promt window also.
once try it.

>>LOAD DATA LOCAL INFILE "filepath" INTO TABLE databasename.tablename FIELDS TERMINATED BY '','' LINES TERMINATED BY ''\n'';

its may helpful for u!


这篇关于csv上传数据库中的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆