分析查询时发生错误。 [令牌行号= 1,令牌行偏移量= 52,令牌出错=]]
问题描述:
虽然试图插入数据到我的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行。
答
尾随逗号是我的猜测。更改SQL INSERT语句这样:
var SQLINSERT = "INSERT INTO Games (Name, file_path) " + "VALUES (@0, @1)";
答
在我的情况的问题是在句子中有“文字
例子(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')`
我用减法解决问题
我试过了,它修复了那个错误,但现在又给了我另一个错误 – mhcodner 2012-04-03 03:43:16
错误页现在说:System.ArgumentNullException:参数化的查询需要一个没有提供的参数值。 参数名称:0 – mhcodner 2012-04-03 06:43:00
@mhcodner:但这是一个完全不同的问题,不是。这个答案解决了你的文章中的原始问题。通常会在这里单独询问多个问题(至少在问题非常不同的情况下,就像您的情况一样)。看看现有的问题(页面顶部有一个搜索栏),你可能会找到一个现成的解决方案/答案。 – 2012-04-03 09:55:10