2012-04-03 77 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')` 

我用減法解決問題

相關問題