foxpro中有字段A,类型:type:numeric,   width:2.请问在C#中是否应该使用decimal和其对应。   如果是,如何构造该字段的adapter.insertCommand,   另外在row   =   NewRow().后,row[   "A"   ]   =   ?,   ?处应该怎么写该decimal,假设值为-1。   
  另外如何通过数据集改变数据库中表的主键?   注意要保存到表中,而不是在dataset中   
    
  insertCmd.Parameters.Add(   new   System.Data.Odbc.OdbcParameter("fs",   System.Data.Odbc.OdbcType.Decimal,   0,   System.Data.ParameterDirection.Input,   false,   ((System.Byte)(2)),   ((System.Byte)(0)),   "fs",   System.Data.DataRowVersion.Current,   null));这是系统自动生成的。   
  我在程序中使用row[   "fs"   ]   =   new   Decimal(   -1   );系统异常:   
  未处理的异常:   System.Data.Odbc.OdbcException:   ERROR   [22018]   [Microsoft][ODBC   Visual   FoxPro   Driver]Data   type   mismatch.   
        at   System.Data.Common.DbDataAdapter.Update(DataRow[]   dataRows, taTableMappi   
  ng   tableMapping) --转自http://topic.csdn.net/t/20051126/13/4419837.html的问题,我也遇到了
--期待高手回答!

解决方案 »

  1.   

    to foxpro中有字段A,类型:type:numeric, width:2.请问在C#中是否应该使用decimal和其对应。应该不是,应该是长度为2个字节的整型,可以用Int16来定义类型。
      

  2.   

    to Knight94(愚翁):
    用int16也不行,后来我用sql语句直接insert成功了。
    谢谢关注。
      

  3.   

    具体详情我会写到我的blog里,遇到这个问题的人请参阅:
    http://bluesky521.cnblogs.com/