Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 13 kết quả

Đề tài: Cách tạo mã kiểu chuỗi tự động trong C#?

  1. #1
    Ngày gia nhập
    01 2008
    Bài viết
    31

    Thumbs down Cách tạo mã kiểu chuỗi tự động trong C#?

    mấy bạn cho mình hỏi:
    * muốn tạo 1 mã tự động kiễu chuỗi( khi click nút Thêm thì nó sẽ tự fát sinh 1 mã gán vô 1 textbox nào đó) thì làm sao? (xài CSDL Access).
    VD: 08ABXXX : 08AB là fần cố định, còn XXX là tự fát sinh ra.

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Tạo ra 3 số random với giá trị ASCII nằm trong khu vực bạn muốn
    Convert sang Char rồi ghép chung với string thôi.
    None!

  3. #3
    Ngày gia nhập
    10 2007
    Nơi ở
    HCMUNS
    Bài viết
    459

    Chi cực vậy Pate, random một số từ 100 đến 999 ko sướng hơn à. Tuy nhiên, việc trùng số đã phát sinh ko bảo đảm nhé

    Theo nhc thì cái này nên để cho CSDL lo, set trường Id là auto number
    Keep moving forward!

    ... Retired ...

  4. #4
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Cái này hay đc dùng để đánh mã sản phẩm,ko dùng random được đâu ^^!
    Có 2 cách.
    1 - chế từ autonum thành 1 cái mã khác bằng select(cái này giống của nhc ^^!)
    2 - tự tính lấy ^^!.
    Select rồi order lấy cái cuối cùng,ngắt đoạn đầu đi,convert sang số rồi cộng thêm 1(cách này hồi mới học vẫn làm :">)
    Is the moon rising...

  5. #5
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Sử dụng cái AutoNumber không hay lắm, theo Dr thì có thể tự chế cho linh động. Cũng khá đơn giản mà!

    Nếu làm với Asscess thì chọn Format của Field "Mã' là "08AB"0000, và kiểu của nó là Number. Bạn nên thiết lập cái này là Primany Key (Mục đích để tránh trùng ấy mà)

    Bây giờ bạn viết lệnh cho cái button 'Thêm' chỉ cần xử lý cái phần số thôi. Tùy theo bạn muốn sinh mã thứ tự hay ngẫu nhiên thế nào, kết quả thu được của bạn sẽ có dạng 08ABxxxx. Ví dụ: 08AB0036

    Nếu là sinh mã ngẫu nhiên thì xử lý thêm cái vụ trùng(Có lỗi, vì mình set là Primany mà) thì sinh mã khác cho Record đó.

    Thử coi có được không ta?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  6. #6
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Mặc định Cách tạo mã kiểu chuỗi tự động trong C#?

    Mới thử lại với Access ^^!
    Set format cho trường autonum là "XXX"000 lên kết quả ầm ầm mới khổ ^^!
    Thế mà hồi xưa ko biết T_T!
    Is the moon rising...

  7. #7
    Ngày gia nhập
    01 2008
    Bài viết
    31

    Cám ơn mọi người. Mình hiểu cách làm rồi

    @darkan:
    2 - tự tính lấy ^^!.
    Select rồi order lấy cái cuối cùng,ngắt đoạn đầu đi,convert sang số rồi cộng thêm 1(cách này hồi mới học vẫn làm :">)
    cách này làm được, nhưng khi xóa 1 mã thì khi thêm nó fát sinh ngay mấy cái mã trống này.
    VD: trong CSDL còn: 08AB001,08AB002,08AB005. Khi Thêm, fát sinh mã fải là 08AB003,08AB004 rồi mới tới 08AB006. Chứ làm cách 2 of darkan thì cứ tăng hoài.
    ( cái này trong CSDL SQL thì viết store proc có vòng lặp chạy, còn access thì chưa biết làm. hìhì)

  8. #8
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Tại vì nó dính đến cả history nữa nên ko cho phép lặp lại mã đã bị xóa :P.
    Chứ chơi phát sinh mã kiểu jet thì khả năng rủi ro rất cao => không dùng .
    Is the moon rising...

  9. #9
    Ngày gia nhập
    10 2007
    Bài viết
    13

    mình có viết 1 class tạo mã tự động đây
    Code:
     #region "Lớp tạo mã tự động
        public class AUTO
        {
            public static string CREATECODE(string current_code, string chars_start)
            {
                try
                {
                    string str, result = ""; int number;
                    str = current_code.Substring(chars_start.Length);
                    number = Convert.ToInt32(str) + 1;
                    for (int i = 0; i < str.Length - number.ToString().Length; i++)
                        result += "0";
                    result = chars_start + result + number.ToString();
                    return result;
                }
                catch (Exception)
                {
                    return null;
                }
            }
        }
        #endregion

  10. #10
    Ngày gia nhập
    06 2007
    Nơi ở
    Hà nội
    Bài viết
    77

    hàm trên để làm gì hả cậu,phải xem yêu cầu của tác giả rồi mới code chứ
    trước tiên cắt phần mã tự sinh trong trường cần sinh
    chuyển về int rồi lấy max của nó
    lấy được max thì cộng thêm 1
    cộng xong thì chuyển nó về định dạng ban đầu
    cuối cùng ghép thêm phần cố định vào phần đã xử lý rồi cho hiện ra textbox
    Sống ở trên đời cần có một TẤM LÒNG để lúc đói còn có chỗ mà nhét THỨC ĂN

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

  1. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  2. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  3. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  4. Trả lời: 7
    Bài viết cuối: 21-03-2011, 09:59 PM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 AM

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