Parameters xamarin表单。。。无法从SqlCommand获取参数值。。。“错误”;MarshallByRefObject“;声明其定义见';mscorlib'。。找不到
我有一个xamarin.forms项目。在PCL中,我有一个包含这3行代码的类 1)Parameters xamarin表单。。。无法从SqlCommand获取参数值。。。“错误”;MarshallByRefObject“;声明其定义见';mscorlib'。。找不到,parameters,xamarin.android,xamarin.forms,sqlcommand,marshalbyrefobject,Parameters,Xamarin.android,Xamarin.forms,Sqlcommand,Marshalbyrefobject,我有一个xamarin.forms项目。在PCL中,我有一个包含这3行代码的类 1) SqlCommand cmd=new SqlCommand()。。。。(注:这一行代码有效) 2) cmd.Parameters.Add(新的SqlParameter(“@UserID”,SqlDbType.Char,5)).Direction=ParameterDirection.Input。。。。(注:这一行代码有效) 3) var userid=cmd.Parameters[“@userid”].Valu
SqlCommand cmd=new SqlCommand()代码>。。。。(注:这一行代码有效)
2) cmd.Parameters.Add(新的SqlParameter(“@UserID”,SqlDbType.Char,5)).Direction=ParameterDirection.Input代码>。。。。(注:这一行代码有效)
3) var userid=cmd.Parameters[“@userid”].Value代码>。。。。(注意:这行代码不起作用)
我收到了这个消息
“按类型引用”MarshalByRefObject“声明它是在中定义的
“mscorlib”,但找不到
这3行代码适用于Android特定项目,但不适用于PCL类
我可以将参数添加到PCL类中的SqlCommand,但无法检索值
提前谢谢你的帮助
完整名称空间=System.Data.SqlClient.SqlCommand…我在…C:\Program Files(x86)\Reference Assembly\Microsoft\Framework\MonoAndroid\v1.0中引用了System.Data.dll
您引用的DLL仅适用于Mono.Android项目,不适用于PCL项目。它不能用于PCL项目。有关说明,请参阅
如果您想在PCL中使用本机Android SQLite,请使用:
在PCL项目中。为依赖项服务创建接口(ISQLDb
),并将该服务与DependencyService.Get()一起使用:
SqlCommand
的完整名称空间是什么?您在PCL中引用了任何库吗?完整名称空间=System.Data.SqlClient.SqlCommand…我在…C:\Program Files(x86)\reference Assembly\Microsoft\Framework\MonoAndroid\v1.0中引用了System.Data.dll
public interface ISQLDb
{
void InitCmd();
}
private void btnClick_Clicked(object sender, EventArgs e)
{
//use the service any where in your PCL project
ISQLDb db=DependencyService.Get<ISQLDb>();
db.InitCmd();
}
//register the Dependency Service
[assembly:Xamarin.Forms.Dependency(typeof(SQLDbImpl))]
namespace SQLCommandDemo.Droid
{
//implements the ISQLDb Interface
public class SQLDbImpl : ISQLDb
{
public void InitCmd()
{
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Add(new SqlParameter("@UserID", SqlDbType.Char, 5)).Direction = ParameterDirection.Input;
var userid = cmd.Parameters["@UserID"].Value;
}
}
}