0

確認番号を保持するためにデータベースに追加したばかりの属性があります。唯一の問題は、それらがすべてnullであるため、エラーが発生することです。したがって、乱数を生成する方法が必要です(重複はありません)。列エントリの最大サイズはvarchar(20)です。これを行う方法はありますか?ありがとう

解決:

        randNum = Replace(Guid.NewGuid().ToString(), "-", "")
        randNum = randNum.Substring(0, 19)
4

2 に答える 2

0

少し調べて、これらの例に出くわしました。

VBの乱数:VB.NETの乱数

SQL Serverの乱数:http ://www.sql-server-helper.com/tips/generate-random-numbers.aspx

何も意味のない数値を使用したくない場合(エラーを回避するために列を埋めるだけの場合)、.NET側で変数をnull許容にして、null値を格納できるようにすることができます。

Dim MyInt? as Integer

編集:

GUIDを作成し、ダッシュを削除して20文字に切り詰めることができますが、それでも繰り返される可能性はほとんどありません。

編集#2:ストアドプロシージャを使用して新しいレコード/変更レコードに対してこれらの更新を実行している場合(そうする必要があります)、SQL側で乱数を作成し、それをOUTPUT変数として返すことができます。これにより、レコードが作成/更新されたことを検証し、.NET側に表示するための確認を行うことができます。

編集#3:myGuild.ToString()。Replace( "-"、 "")。SubString(0,20)でうまくいくはずです。

于 2012-05-15T21:18:39.350 に答える
-1

GUIDを生成してみてくださいこれは常に異なります

Guid.NewGuid().ToString()
于 2012-05-15T21:30:32.340 に答える