Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Tạo mã khóa chính tự tăng với kiểu varchar, tạo mà ko chạy đc

  1. #1
    Ngày gia nhập
    04 2010
    Nơi ở
    The Snow Land
    Bài viết
    138

    Mặc định Tạo mã khóa chính tự tăng với kiểu varchar, tạo mà ko chạy đc

    Các bạn cứu mình với, mình làm cái store mã khóa chính tự tăng mà nó ko hiện ra trong textbox
    VD: maBN kiểu varchar mình làm mỗi lần khi load form lên trên txtMaBN thì sẽ là BN01, BN02, BN03,BN11,...

    Code:
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    ALTER proc [dbo].[THEM_BN]
    	@hovatendem nvarchar(50),
    	@tenbn nvarchar(10),
    	@namsinh datetime,
    	@tuoi int,
    	@gioitinh nvarchar(10),
    	@diachi nvarchar(100),
    	@nghenghiep nvarchar(50),
    	@CMND int,
    	@noilamviec nvarchar(50),
    	@dantoc nvarchar(10),
    	@ngoaikieu nvarchar(50),
    	@doituong nvarchar(50),
    	@soBHYT varchar(30),
    	@BHYTtungay varchar(50),
    	@BHYTdenngay varchar(50),
    	@phantramchenhlech int,
    	@hotendemnguoinha nvarchar(50),
    	@tennguoinha nvarchar(10),
    	@diachinn nvarchar(100),
    	@dienthoai int
    as
      Declare @id int,@mabn varchar(10);
      set @id=(select top (1) cast(SUBSTRING(mabn,3,len(mabn)-2) as int)as 'mabn_moi' from BENHNHAN order by mabn_moi desc)+1;
    	if(@id<10)
    		begin
    			set @mabn ='BN0'+cast(@id as varchar(10));
    		end
    	else
    		begin
    			set @mabn='BN'+cast(@id as varchar(10));
    		end
             insert into BENHNHAN values(@mabn, @hovatendem, @tenbn, @namsinh,@tuoi,@gioitinh,@diachi,@nghenghiep,@CMND,@noilamviec,@dantoc,@ngoaikieu,@doituong,@soBHYT,@BHYTtungay,@BHYTdenngay,@phantramchenhlech,@hotendemnguoinha,@tennguoinha,@diachinn,@dienthoai)
    Sau đó gọi store
    Code:
     public int ThemBenhNhan(string mabn, string hovatendem, string tenbn, DateTime namsinh, int tuoi, string gioitinh, string diachi, string nghenghiep, int CMND, string noilamviec, string dantoc, string ngoaikieu, string doituong,string soBHYT, string BHYTtungay,string BHYTdenngay, int phantramCL, string hotendemnguoinha, string tennguoinha, string diachinn, int dienthoai)
            {
                SqlCommand com = new SqlCommand("Them_BenhNhan", con);
                com.CommandType = CommandType.StoredProcedure;
                com.Parameters.Add("@mabn", SqlDbType.VarChar, 10).Value = mabn;
                com.Parameters.Add("@hovatendem", SqlDbType.NVarChar, 50).Value = hovatendem;
                com.Parameters.Add("@tenbn", SqlDbType.NVarChar, 10).Value = tenbn;
                com.Parameters.Add("@namsinh", SqlDbType.DateTime).Value = namsinh;
    gọi class
    Code:
      private void btnThem_Click(object sender, EventArgs e)
            {
    
    ClsBenhNhan nd = new ClsBenhNhan();
                    string mabn = txtMaBN.Text;
    
                    string hovatendem;
                    if (txtHoDemBN.Text != "") hovatendem = txtHoDemBN.Text;
                    else hovatendem = "";
    
     }
                catch { MessageBox.Show("Đó là lý do dữ liệu không được thêm"); }
                txtMaBN.Enabled = false;
            }
    T5 mình nộp bài rùi, làm ok mà giờ đc y/c cao hơn là cái tự tăng này. Khổ zi. Các bạn giúp mình với.
    Đã được chỉnh sửa lần cuối bởi lotus88 : 18-07-2011 lúc 11:40 PM.
    Nothin' DEL TIP DI

  2. #2
    Ngày gia nhập
    12 2009
    Nơi ở
    bế quan tu lại
    Bài viết
    846

    trong video của darknight hay iloveit1208 có đoạn code đó thì phải, bạn xem thử đi
    p/s: cũng chả nhớ cái video nào nên bạn chịu khó vậy
    http://forums.congdongcviet.com/showthread.php?t=52876
    Đã được chỉnh sửa lần cuối bởi aydada : 19-07-2011 lúc 12:22 AM.

  3. #3
    Ngày gia nhập
    04 2010
    Nơi ở
    The Snow Land
    Bài viết
    138

    Trích dẫn Nguyên bản được gửi bởi aydada Xem bài viết
    trong video của darknight hay iloveit1208 có đoạn code đó thì phải, bạn xem thử đi
    p/s: cũng chả nhớ cái video nào nên bạn chịu khó vậy
    http://forums.congdongcviet.com/showthread.php?t=52876
    Thanks bạn, để mình mò zị. ^^ Mà cái hàm trong trang đó mình thấy hình như ko ghép chuỗi+Số tự tăng?
    Nothin' DEL TIP DI

Các đề tài tương tự

  1. ADO.NET [Winform C#] Cách bắt lỗi trùng record trong SQL khi insert với khóa chính tự tăng ?
    Gửi bởi anhht1005 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 27-03-2013, 09:33 AM
  2. Cách làm cho cột có kiểu varchar tự động tăng trong sql sever 2005?
    Gửi bởi hungvboys trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 0
    Bài viết cuối: 23-11-2012, 11:36 AM
  3. Delete, Update khi khóa chính để tự động tăng
    Gửi bởi mrpham990 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 09-03-2012, 03:33 PM

Quyền hạn của bạn

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