Announcement

Collapse
No announcement yet.

Convertierungsproblem!

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

  • #16
    Originally posted by matthias_1 View Post
    Also an alle anderen die keinen Wert auf perfekte Rechtschreibung in einem Forum legen :-)
    Es geht nicht um perfekte Rechtschreibung sondern darum, dass man deine Fragen versteht. Ich muss sagen, mir geht es auch so: ich verstehe sie nicht.

    Gruß,
    Martin

    Comment


    • #17
      Ich glaube ich werde verrückt. Kann das denn so schwer sein mich zu verstehen?
      Ich erkläre es NOCH einmal!
      Ich will einen Hexcode bzw. string in einen sql-Tabelle reinschreiben!
      Diese Tabelle will ich dann Convertieren!
      Zum convertieren nehme ich die obige Procedure!
      Es geht auch alles nur wenn ich dann convertiert habe scheint die Tabelle leer zu sein!
      Was ist dadran jetzt so schwer?


      MFG MATTHIAS!

      Comment


      • #18
        Hallo!

        Nur nicht nervös werden...

        Das Problem ist die Konvertierungsfunktion!
        Die macht wohl nicht so ganz, was sie soll.
        Kurz gegoogelt und an Dein Problem angepasst :

        alter FUNCTION dbo.HexStrToVarBin(@hexstr varchar(8000))
        RETURNS varbinary(8000)
        AS
        BEGIN
        DECLARE @hex char(2), @i int, @count int, @b varbinary(8000)


        SET @hexstr = replace ( @hexstr, ' ', '')

        SET @hexstr =
        CASE LEN(@hexstr) % 2 WHEN 1 THEN '0' ELSE '' END + @hexstr

        SET @count = LEN(@hexstr)
        SET @b = CAST('' as varbinary(1))
        IF SUBSTRING(@hexstr, 1, 2) = '0x'
        SET @i = 3
        ELSE
        SET @i = 1
        WHILE (@i <= @count)
        BEGIN
        SET @hex = SUBSTRING(@hexstr, @i, 2)
        SET @b = @b +
        CAST(CASE WHEN SUBSTRING(@hex, 1, 1) LIKE '[0-9]'
        THEN CAST(SUBSTRING(@hex, 1, 1) as int)
        ELSE CAST(ASCII(UPPER(SUBSTRING(@hex, 1, 1)))-55 as int)
        END * 16 +
        CASE WHEN SUBSTRING(@hex, 2, 1) LIKE '[0-9]'
        THEN CAST(SUBSTRING(@hex, 2, 1) as int)
        ELSE CAST(ASCII(UPPER(SUBSTRING(@hex, 2, 1)))-55 as int)
        END as binary(1))
        SET @i = @i + 2
        END
        RETURN @b
        END

        BYE BERND

        Comment


        • #19
          Vielen Dank!

          Es geht jetzt!!!

          Du glaubst gar nicht wie dankbar ich dir bin!

          Vielen Dank!

          Comment

          Working...
          X