私は火の鳥のデータベースを持っています。私のデータセットは次のようになります。
<xs:element name="MYTABLE">
<xs:complexType>
<xs:sequence>
<xs:element name="MYKEY" type="tgKEY" msdata:AutoIncrementSeed="0" msdata:AutoIncrement="true" />
<xs:element name="NO" type="tgM" minOccurs="0" default="-1" />
<xs:element name="NAME" type="tgName" />
<xs:element name="MODUL" type="xs:short" />
<xs:element name="FUNKTION" type="xs:short" />
<xs:element name="RECHT" type="xs:short" />
</xs:sequence>
</xs:complexType>
</xs:element>
問題のある列はMODULです。firebird データベースでは、xs:short と同等のデータ型 smallint を持っています。したがって、.NET では、dataAdapter.Update を実行して、すべての変更を dataTable からデータベースにプッシュします。MODUL 列の値は 108 です。しかし、更新が実行された後、データベースで 100 より大きいすべての値が 10 に取り除かれます?!
なぜこれが起こっているのか知りたいのですが...現時点ではわかりません:(
よろしくお願いします。助けてください!
編集:
DataAdapter は次のタイプからのものです: System.Data.Common.DbDataAdapter Firebird DataAdapter は次のとおりです: FirebirdSql.Data.FirebirdClient.FbDataAdapter