Hiển thị kết quả từ 1 đến 4 / 4
  1. #1
    Tham gia
    30-05-2009
    Bài viết
    71
    Like
    0
    Thanked 1 Time in 1 Post

    Cần chú ý ! cho em hỏi lỗi này của asp.net

    em tạo một trang asp.net với các ô nhập liệu. khi em bấm vào nút insert thì trên visual studio 2005 báo lỗi này:

    "Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints."

    Em đọc và có lên mạng tìm hiểu nhưng k giải quyết được gì, nên xin các anh chỉ giúp dùm em

    Câu lệnh query bên sql của em như sau:
    Code:
    Create proc [dbo].[sp_InsertTBLCoQuan] 
    	@MaCoQuan varchar(6),
    	@MaHuyen varchar(6),
    	@TenCoQuan nvarchar(500),
    	@Diachi nvarchar(max),
    	@SoDT varchar(200)
    as
    Begin
    	if(exists(Select * From CoQuan
    				Where MaCoQuan=@MaCoQuan))
    	Begin
    		Select ErrCode = 1, ErrMsg=N'Cơ Quan Đã Tồn Tại'
    	End
    	Else
    	Begin
    		Select ErrCode=0 , ErrMsg=N'Thêm  Mới Thành Công'
    		Insert CoQuan(MaCoQuan,MaHuyen,TenCoQuan,DiaChi,SoDT)
    		Values(@MaCoQuan,@MaHuyen,@TenCoQuan,@DiaChi,@SoDT)
    		
    	end
    end
    Còn Đây là code vb của em

    Code:
      Protected Sub bttnInsert_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bttnInsert.Click
    
            If Me.txtMaCoQuan.Text = "" Then
                Me.lblThongBao.Visible = True
                Me.lblThongBao.Text = "Mã Cơ Quan Không Được Rỗng"
            Else
                Dim sMaCoQuan, sMaHuyen, sTenCoQuan, sDiaChi, sSoDT As String
                sMaCoQuan = Me.txtMaCoQuan.Text
                sMaHuyen = Me.ddlMaHuyen.SelectedValue
                sTenCoQuan = Me.txtTenCoQuan.Text
                sDiaChi = Me.txtDiaChi.Text
                sSoDT = Me.txtSoDT.Text
    
                Dim tBangGT As New DSQLNS.sp_InsertTBLCoQuanDataTable
                Dim DB As New DSQLNSTableAdapters.sp_InsertTBLCoQuanTableAdapter
                tBangGT = DB.GetData(sMaCoQuan, sMaHuyen, sTenCoQuan, sDiaChi, sSoDT)
    
                If tBangGT.Rows(0)("ErrCode") = 1 Then
                    Me.lblThongBao.Visible = True
                    Me.lblThongBao.Text = tBangGT.Rows(0)("ErrMsg")
                Else
                    Me.lblThongBao.Visible = True
                    Me.lblThongBao.Text = tBangGT.Rows(0)("ErrMsg")
                    Load_dulieu()
                End If
            End If
    
        End Sub
    Mong các anh giúp đỡ
    Quote Quote

  2. #2
    Tham gia
    30-05-2009
    Bài viết
    71
    Like
    0
    Thanked 1 Time in 1 Post
    có ai giúp em không.
    cơ sở dữ liệu của em làm thử thì chỉ có 2 bảng bảng 1 là bảng huyện gồm:
    mã huyện (varchar(6)), Tên huyện (nvarchar(max)

    bảng 2 bảng cơ quan:
    Mã cơ quan (varchar(6)),
    Mã huyện (varchar(6),
    Tên cơ quan (nvarchar(250)),
    Địa chỉ (nvarchar(max)),
    số điện thoại (varchar(20)

    2 bảng kết nối bằng cột mã huyện

    ở bảng 1, cấu store procedure của em cũng giống store procedure trong bảng 2. Bảng 1 thì chạy rất tốt, tới bảng 2 thì lại k dc.
    Em cũng nghi ngờ đến khóa ngoại, vì bảng 2 chỉ khác bảng 1 là nó có khóa ngoại.
    nhưng mà tại sao dữ liệu vẫn được insert mặc dù visual báo lỗi.
    Mong các anh giúp dùm

  3. #3
    Tham gia
    15-01-2009
    Location
    tp Hồ CHí Minh
    Bài viết
    224
    Like
    2
    Thanked 8 Times in 8 Posts
    1. coi lại thử mã huyện thêm vào đã tồn tại trong bảng Huyện chưa
    2. coi lại có giá trị nào bị null khi insert vào ko (có thể trong db ko cho phép field đó null nhưng khi insert lại bị null)
    3.Bạn có thể post hình visual báo lỗi lên đây để mọi người xem cho tiện

  4. #4
    Tham gia
    30-05-2009
    Bài viết
    71
    Like
    0
    Thanked 1 Time in 1 Post
    Đây là ảnh lỗi của visual




    Trong cơ sở dữ liệu e cho toàn bộ là allow null, ngoài khóa chính ra, và chuyện lạ là sau khi bấm nút insert dữ liệu vẫn insert vào cơ sở dữ liệu

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •