VB .Netを使用してeBay APIにアクセスし、完了したすべての注文をデータベースに保存しています。このデータベースは、20文字を超える注文番号を処理できない独自の出荷システムに送られます。 eBayは230407279314-680141236013
の注文番号が長すぎます。注文番号は常に12の数字ハイフンと12の数字です。私がする必要があるのは、実際の注文番号の代わりに配送ソフトウェアで参照できるように、これを(アルファベット数字で表すことができます)より短い一意の注文キーに入れて、実際の注文IDとともにデータベースに保存します)。 20文字の制限の理由は、使用されるバーコードアルゴリズムです。 VB .NETでこれを実現する方法はありますか?この数値は、すでに存在しない限りユニークなものでもかまいません(ユニークな関数でも機能しますが、データベースにクエリを実行していないことを確認する必要があります)長すぎる別の一意の数値から固定長の一意の文字列を作成する
2
A
答えて
0
1つの固有の16進数 - ebayコードを2つの文字列として保存しているとします:lefstr ' - ' rightstring。したがって、この場合leftstring = '230407279314'とrightstring = '680141236013'となります。
あなたは、単一の文字列にそれらを入れて、あなたが進文字列として格納することができるはずそれから整数値を取得したら:id.toString(「X」)
idはなります20より大きい16進数は使用できません:)
5
実際には、その数値を20文字の文字列に変換できます。数字を6桁の数字に分割できます。
3840744312A60CD399ED
はこのようにそれを実行します。
230407 -> 38407
279314 -> 44312
680141 -> A60CD
236013 -> 399ED
は、20文字の文字列を与える:それらのそれぞれが唯一保存される20ビットを必要とするとして、あなたはその後、5桁の16進数としてそれらを表現することができます:
Dim code As String = _
Int32.Parse(orderNumber.Substring(0, 5)).ToString("x5") + _
Int32.Parse(orderNumber.Substring(5, 5)).ToString("x5") + _
Int32.Parse(orderNumber.Substring(11, 5)).ToString("x5") + _
Int32.Parse(orderNumber.Substring(16, 5)).ToString("x5")
+0
アルファベットのcaracterをサポートするバーコードを使用している限り、16進数を使用できます –
関連する問題
- 1. Postgresqlで一意の乱数を固定長で生成する
- 2. 最小長の一意のユニコード文字を生成するアルゴリズム
- 3. Javaで固定長の一意識別子を生成する方法は?
- 4. PHPの文字列から一意の整数を作成
- 5. 文字列から一意の整数値を取得
- 6. 一意の数値を持つ文字列のセルを列挙するには?
- 7. MySQLの一意の列文字列
- 8. PHPの文字列から一意の4バイト整数値を作成します。
- 9. 複数のリストから一意のオブジェクトリストを作成する
- 10. この関数を任意の長さの文字列にする
- 11. 文字列の一意の文字の数を取得する方法
- 12. iosで一意の文字を生成
- 13. 文字列から一意の文字を取得するには?
- 14. トラブル固定binascii奇数の長さの文字列の問題
- 15. 整数から一意の短い文字列を取得するには?
- 16. ランダムな長さの文字列から固定長の整数を見つける
- 17. 一意の文字で分割する
- 18. 2列の一意制約の作成
- 19. PHP/MYSQLクエリの一意/固有値
- 20. 固定長の複数行のテキストボックスを作成する方法
- 21. Postgresqlに任意の長さの文字列を格納
- 22. radgridの文字列の最大長/ radogridの文字列の長さを自動生成列で設定する
- 23. 生涯一意のIDを作成する別の方法
- 24. フォールトトレランスで複数の値から一意のIDを生成
- 25. 百万の短い文字列の一意の整数/浮動小数点ハッシュを作成する
- 26. iOSデバイスの一意の識別子を作成しますか?
- 27. 一意の値のセットから一意のランダムなサブセットを選択します。
- 28. ループ内から一意の文字列のリストを作成する最速の方法は?
- 29. Javaから一意の4文字のランダムキーを生成する方法
- 30. 一意の値を必要とするカスタムフィールドの作成
私は、QuickbooksのPO番号と同じ問題がありました。これは、結合しようとしていた別のシステムのPO番号と比較して短すぎます。古いPO番号へのリンクを作成することは重要ではなかったので(会計部門による) –
テーブルにはident列がありますか?先行ゼロでそれを使用してください。 – cadrell0