Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net compact framework SqlClient异常_C#_Exception_Compact Framework_Windows Ce_Sqlclient - Fatal编程技术网

C# .Net compact framework SqlClient异常

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

我为WindowsCE5.0设备开发,正在尝试连接到远程SQLServer。但如果我对参数使用命令,我会得到异常:

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