如何在asp.net中插入SQL Server CE数据库

如何在asp.net中插入SQL Server CE数据库,asp.net,sql-server-ce,Asp.net,Sql Server Ce,我正在尝试为SQL Server CE数据库执行insert into命令,该数据库是starter asp.net网站附带的数据库。我试图保持代码的动态性,这样我就可以使用它作为数据库中所有表的数据库管理页面。我一直在 引发异常:System.Data.SqlServerCe.dll中的“System.Data.SqlServerCe.SqlCeException” 我试图用一个长字符串作为查询,但也没有用。我错过了什么/做错了什么 SqlCeCommand Sqlcmd =

我正在尝试为SQL Server CE数据库执行insert into命令,该数据库是starter asp.net网站附带的数据库。我试图保持代码的动态性,这样我就可以使用它作为数据库中所有表的数据库管理页面。我一直在

引发异常:System.Data.SqlServerCe.dll中的“System.Data.SqlServerCe.SqlCeException”

我试图用一个长字符串作为查询,但也没有用。我错过了什么/做错了什么

        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();

请打开连接并在命令和连接对象周围添加using语句,以确保它们已被释放。别忘了关闭你的连接。以下是MSDN提供的信息。

异常的InnerException值是多少?使用catch块,并在using语句中包装您的DB连接。那么实际的命令文本是什么?谢谢Dai,我能够通过使用catch并在Visual Studio中检查错误来挖掘和发现问题。问题是我在postID上设置了一个外键,我输入测试数据时没有考虑它。所以我把postID改成了一个有效的postID,现在它可以工作了。再次感谢汉克斯,我一定会改变的。