我引用的是 System.Data  版本为 2.0.0.0    。 System.Data.Common版本为1.0.5000.0
运行这行他SqlCeCommand sqlCmd = this.cnfood.CreateCommand();
SqlCeParameter tableName = new SqlCeParameter();

// Query system table to check whether the table is present.
//
sqlCmd.CommandText = "SELECT COUNT(*) FROM MSysObjects WHERE Name = ?";

tableName.ParameterName = "@TableName";
                tableName.SqlDbType = SqlDbType.NVarChar;
                
tableName.Size = 128;
tableName.Value = table;

sqlCmd.Parameters.Add(tableName);
报错为
错误 2 类型“System.Data.SqlDbType”同时存在于“c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Data.dll”和“c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0\System.Data.Common.dll”中 D:\PDA-2008\Food\Food\Fooddata.cs 1366 39 Food
错误 3 无法将类型“System.Data.SqlDbType [c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\System.Data.dll]”隐式转换为“System.Data.SqlDbType [c:\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\SQL Server\Mobile\v2.0\System.Data.Common.dll]”。存在一个显式转换(是否缺少强制转换?) D:\PDA-2008\Food\Food\Fooddata.cs 1366 39 Food用System.Data  版本为 1.0.0.0 就不会报这个错

解决方案 »

  1.   

    版本不一样的问题,楼主是不是用SQLCE数据编程的,因为同时引用了两个版本的System.data命名空间了。系统自带System.data命名空间和你自己手工引用的System.data命名空间中的方法一样了,所以报错了,解决方法是不要引用System.Data.common
      

  2.   

    那个 
    System.Data.common  我还用这个 DLL。去掉不行呀 。那个 
    System.Data我可以换个低版本V1.0的就可以 。
    但是我要用System.Data  版本为 2.0.0.0 的这个。
    有没有其它的办法。
     大哥能不能给QQ聊下。