2012-04-03 75 views
2

虽然试图插入数据到我的SQl数据库我得到以下错误System.Data.SqlServerCe.SqlCeException: There was an error parsing the query. [ Token line number = 1,Token line offset = 52,Token in error =) ] 我的代码行输入数据如下:分析查询时发生错误。 [令牌行号= 1,令牌行偏移量= 52,令牌出错=]]

@{ 
var db= Database.Open("Games"); 
var sqlQ = "SELECT * FROM Games"; 
var data = db.Query(sqlQ); 
} 
@{ 
if (IsPost) { 
    var fileData = Request.Files[0]; 
    var fileName = Path.GetFileName(fileData.FileName); 
    var fileSavePath = Server.MapPath("~/upload/" + fileName); 
    fileData.SaveAs(fileSavePath); 
    var GameName=Request["Name"]; 
    var Gamefile = fileName; 
    var SQLINSERT = "INSERT INTO Games (Name, file_path) " + "VALUES (@0, @1,)"; 
    db.Execute(SQLINSERT, GameName, Gamefile); 
    } 
} 

我想上传一个文件到我的服务器,并将文件名添加到我的数据库。错误显然与第15行。

回答

3

尾随逗号是我的猜测。更改SQL INSERT语句这样:

var SQLINSERT = "INSERT INTO Games (Name, file_path) " + "VALUES (@0, @1)"; 
+0

我试过了,它修复了那个错误,但现在又给了我另一个错误 – mhcodner 2012-04-03 03:43:16

+0

错误页现在说:System.ArgumentNullException:参数化的查询需要一个没有提供的参数值。 参数名称:0 – mhcodner 2012-04-03 06:43:00

+1

@mhcodner:但这是一个完全不同的问题,不是。这个答案解决了你的文章中的原始问题。通常会在这里单独询问多个问题(至少在问题非常不同的情况下,就像您的情况一样)。看看现有的问题(页面顶部有一个搜索栏),你可能会找到一个现成的解决方案/答案。 – 2012-04-03 09:55:10

0

在我的情况的问题是在句子中有“文字

例子(ERROR)

INSERT INTO Article (ARV_ARTICLE, ARV_NAME, ARV_BRAND_ID, ARV_GROUP) 
      VALUES ('56255249','**HANNA 70'S**','32','5')` 

例子(正确)

INSERT INTO Article (ARV_ARTICLE, ARV_NAME, ARV_BRAND_ID, ARV_GROUP) 
      VALUES ('56255249','**HANNA 70S**','32','5')` 

我用减法解决问题

相关问题