C# .Net compact framework SqlClient异常
我为WindowsCE5.0设备开发,正在尝试连接到远程SQLServer。但如果我对参数使用命令,我会得到异常:C# .Net compact framework SqlClient异常,c#,exception,compact-framework,windows-ce,sqlclient,C#,Exception,Compact Framework,Windows Ce,Sqlclient,我为WindowsCE5.0设备开发,正在尝试连接到远程SQLServer。但如果我对参数使用命令,我会得到异常: {System.Data.SqlClient.SqlException: SqlException at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, TdsParserState state) at System.Data.SqlClient.SqlInternalConnection.On
{System.Data.SqlClient.SqlException: SqlException
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, TdsParserState state)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior run, SqlCommand cmdHandler, SqlDataReader dataStream)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
at System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
at Test.MainForm.TestConnection()
...
}
代码:
而且,在不向命令添加参数的情况下,它可以正常工作。请告诉我原因是什么?
(我使用的是VS2008,.net compact framework 3.5)在参数名前面加上“@”,如
cmd.Parameters.Add(new SqlCeParameter("@id", 1));
异常消息到底是什么?看起来您忘记在添加参数行中使用
)
和@
,如cmd.Parameters.Add(new-SqlParameter(“@id”,1))代码>或者可以是一种类型。@SonerGönül,是的,对不起,缺少括号只是文章中的一个输入错误,但不是@
。没有@
的同一代码在.NETFramework3.5项目(不是Compact)中也能工作,所以我感到困惑。非常感谢)顺便说一下,这是完整的异常消息:message=“SqlException”和堆栈跟踪。
cmd.Parameters.Add(new SqlCeParameter("@id", 1));