0

VisualStudio2010でデータベースを作成しました。

このデータベースには、3つの列を持つテーブルがあります。

  • 主キーであり、そのタイプがuniqueidentifierであるAdId
  • タイプnvarcharのAdName
  • タイプuniqueidntifierのUserId

ユーザーがログインしてボタンをクリックすると、データベースに行を追加したい

  • AdNameの定数値(私はそれを決定しました)
  • ユーザーIDのログインユーザーID
  • AdId用にデータベースによって自動的に作成されたID

行が追加されてもすべて問題ありませんが、AdIdの値は別の時間に変更されません。この値は、常に00000000-0000-0000-0000-000000000000です。

ばかげた質問だとは思いますが、問題がどこにあるのか、どうすればよいのかわかりません。ありがとう

4

3 に答える 3

3

2つのこと:

  • AdIdにデフォルトのNEWID()を指定しましたか?

  • 00000000-0000-0000-0000-000000000000データベースに送信していますか、または0x00(バイナリ)送信していますか?
    たとえば、SELECT CAST(0x00 AS uniqueidentifier)

基本的に、SQLServerはあなたが求めたことを実行しています

于 2012-05-29T09:48:10.723 に答える
1
CREATE TABLE myTable (
    myId uniqueidentifier NOT NULL
);

ALTER TABLE myTable ADD CONSTRAINT myConstraint
                        DEFAULT NEWSEQUENTIALID()
                        FOR myId ;
于 2012-05-29T09:47:13.590 に答える
1

AdId 列のデフォルト値をnewid()

于 2012-05-29T09:47:25.833 に答える