Announcement

Collapse
No announcement yet.

TA-Dataset: Custom-Insert bringt Datentypen durcheinander

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TA-Dataset: Custom-Insert bringt Datentypen durcheinander

    Hallo zusammen,

    habe ein arges Problem und komme als .Net-Neuling nicht weiter...

    Ich arbeite mit VS2005 und habe in einem C#-Projekt ein TableAdapter mit zahlreichen DataSets erstellt.

    Wenn ich in einem DataSet eine neue Insert-Funktion erstelle, wird ein datenbankseitiges TinyInt falschlicherweise mit einem Int32 deklariert.

    Der XSD-Eintrag sieht folgendermassen aus:

    <Parameter AllowDbNull="False" AutogeneratedName="SaleType" ColumnName="SaleType" DataSourceName="TestDB.dbo.WS_SaleItem" DataTypeServer="tinyint" DbType="Int32" Direction="Input" ParameterName="@SaleType" Precision="0" ProviderType="TinyInt" Scale="0" Size="1" SourceColumn="SaleType" SourceColumnNullMapping="False" SourceVersion="Current">

    Die Methode hat folgende Signatur:

    public virtual int InsertSaleItem(int CustomerId, int ProductId, int Amount, int SaleType)

    Der Parameter SaleType muss aber Byte sein!

    Der Default-Insert wiederrum wurde korrekt generiert.

    Habe zwar reichlich gegoogelt aber nichts gefunden, hoffe auf eure Hilfe.

    Gruss

  • #2
    Eine richtige Antwort habe ich nicht, weil ich nicht mit Visual Studio und TableAdapter arbeite; deshalb weiß ich nicht, welche Dateien in welcher Reihenfolge erstellt werden. Probier doch einmal, in der xsd-Datei den betreffenden Eintrag manuell zu ändern in DbType="Byte". Dann speichern und kompilieren - mal sehen, was dann passiert.

    Schlimmstenfalls kannst Du in Deiner eigenen Quelldatei die Methode InsertSaleItem neu deklarieren mit den richtigen Argumenten; das dürfte wegen partial class und der Möglichkeit der Überladung auch funktionieren.

    Gruß Jürgen

    PS. Fragen zur Datenbank-Verarbeitung gehören ins Forum ADO.NET. TA ist eine Abkürzung u.a. für den Schweizer Tages-Anzeiger oder Triumph-Adler; für den TableAdapter habe ich sie noch nie gelesen - das hat mich doch verwirrt.

    Comment


    • #3
      Hallo Jürgen,

      danke für deine Antwort. Ich werde wohl besser mein Post ins Forum ADO.NET übertragen.

      Zu deinem Vorschlag: Dıe xsd-Datei wird autom. bei jeder Anderung generiert, dadurch würden manuelle Anpassungen verlogen gehen

      Comment

      Working...
      X