我试图执行一个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();
异常的'InnerException'的值是什么?使用'catch'块,并在'using'语句中包装你的数据库连接。 – Dai
什么是实际的命令文本? – ErikEJ
感谢戴,我能够通过使用捕获和检查Visual Studio中的错误来挖掘并发现问题。问题是我在postID上设置了一个外键,并且我输入的测试数据没有考虑到它。所以我改变了postID到一个有效的postID,现在它工作。再次感谢 – Peavey2787