none
求救!! 使用DataSet Designer設計出來的表格 查詢時出現問題 RRS feed

  • 問題

  • 我做了一個查詢的Method
    但是前端撈出資料時
    卻出現"無法啟用條件約束,一或多個資料列的值違反非Null、唯一或外部索引鍵條件約束"
    不知道哪裡設定錯誤
    有勞各位大大協助檢查一下

    ===Method===
            public string GetMasterName(Guid telesalesId)
            {
                EmployeeDataSet.User_GroupsDataTable dt = new EmployeeDataSet.User_GroupsDataTable();
                taUserGroup.GetMasterName(dt, telesalesId);
                if (dt.Rows.Count > 0)
                {
                    EmployeeDataSet.User_GroupsRow dr = (EmployeeDataSet.User_GroupsRow)dt.Rows[0];
                    return dr.UserName;
                }
                else
                { return ""; }
            }

    ===Table===
    GetMasterName
    ExecuteMode = Reader
    GenerateMethods = Fill
    Parameters = @SellId
        ProviderType = UniqueIdentifier
    Command Text =
    "SELECT         aspnet_Users.UserName, User_Groups.MasterId, User_Groups.SellId,
                              User_Groups.CreateDate
    FROM             aspnet_Users INNER JOIN
                              User_Groups ON aspnet_Users.UserId = User_Groups.MasterId
    WHERE         (User_Groups.SellId = @SellId)
    ORDER BY  User_Groups.CreateDate DESC"



    2007年1月25日 上午 04:40

所有回覆

  • 通常發生這個訊息是因為您select出來的Table無法跟DataSets內Table的限制相符合(有可能是因為有些欄位在Method中沒選,但是卻又限制為不得為null...等)。

     

    解決方法:

    1.將Select出來的Table調整可以符合DataSets的Table限制(例如:Table有哪些欄位就把那些欄位選擇出來)。

    2.把那些限制拿掉(通常我是把整個Table的Primary Key拿掉,及把Table的 AllDBNull設定為False)。

     

    2007年1月25日 上午 05:25
    版主
  •  

    補充一點,還要注意你當初有沒有設定.xsd中Table內欄位的MaxLength。

    親身經歷阿,找了半天才注意到...XD

     

    這錯誤訊息實在是太籠統了...

    2007年10月30日 上午 08:22
  • 試看看把這一段改成

     

    return dr["UserName"].ToString();

     

    2007年10月30日 上午 09:59
  • 這個狀況好像有點多 .

    有可能 沒有這個人的資料 資料型別不對 主要的資料為null

    先拿掉fk 再看看吧

    2013年1月9日 上午 10:40
  • 假若SQL下語法可以

    程式不行

    就代表是成是在帶入資料型態上有問題

    這時候要對照 資料庫的設計欄位看

    把條件全部拿掉,在一個一個加入測試

    我常常就是忽略了設計型態而搞這種烏龍==

    2013年1月9日 上午 10:49
  • 您可以將DataSet的EnforceContraints屬性設定為False再試看看, 這種錯誤的原因很多, 不允許空值的欄位沒有內容值, 主索引鍵內容值重覆都是這種錯誤
    2013年1月10日 上午 07:50