如何在asp.net中插入SQL Server CE数据库
我正在尝试为SQL Server CE数据库执行insert into命令,该数据库是starter asp.net网站附带的数据库。我试图保持代码的动态性,这样我就可以使用它作为数据库中所有表的数据库管理页面。我一直在 引发异常:System.Data.SqlServerCe.dll中的“System.Data.SqlServerCe.SqlCeException” 我试图用一个长字符串作为查询,但也没有用。我错过了什么/做错了什么如何在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 =
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,现在它可以工作了。再次感谢汉克斯,我一定会改变的。