2015-09-06 104 views
0

我試圖執行一個SQL Server CE數據庫的命令插入,該命令是隨初學者asp.net網站提供的。我試圖保持代碼的動態,所以我可以將其用作此數據庫中所有表的數據庫管理頁面。我不斷收到如何在asp.net中插入SQL Server CE數據庫

拋出異常:「System.Data.SqlServerCe.SqlCeException」在System.Data.SqlServerCe.dll

我試圖只是一個長字符串作爲查詢,但要做到這一點那也沒用。我錯過了什麼/做錯了什麼?

 SqlCeCommand Sqlcmd = new SqlCeCommand(); 
     Sqlcmd.Connection = db.Connection as SqlCeConnection; 

     var Cols = ""; 

     foreach (var column in Columns) 
     { 
      Sqlcmd.Parameters.AddWithValue('@'+column, Request.Form[column]); 
      Cols += column + ","; 
      insertValues += '@' + it + ","; 
     } 

     Cols = Cols.Substring(0, Cols.Length - 1); 
     insertValues = insertValues.Substring(0, insertValues.Length - 1); 

     Sqlcmd.CommandText = 
      "INSERT INTO " + table + "("+Cols+") " + 
      "VALUES ("+insertValues+")"; 

     Sqlcmd.Prepare(); 
     Sqlcmd.ExecuteNonQuery(); 
+0

異常的'InnerException'的值是什麼?使用'catch'塊,並在'using'語句中包裝你的數據庫連接。 – Dai

+0

什麼是實際的命令文本? – ErikEJ

+0

感謝戴,我能夠通過使用捕獲和檢查Visual Studio中的錯誤來挖掘並發現問題。問題是我在postID上設置了一個外鍵,並且我輸入的測試數據沒有考慮到它。所以我改變了postID到一個有效的postID,現在它工作。再次感謝 – Peavey2787

回答

0

請打開您的連接並在您的命令和連接對象周圍添加使用語句以確保它們被丟棄。不要忘記關閉你的連接。以下是MSDN提供的example

+0

謝謝,我會確保改變這一點。 – Peavey2787

+0

爲你插入了這項工作嗎? –

相關問題