NEWS

[C#] Hướng dẫn tạo mã tự động trên lập trình Winform

[C#] Hướng dẫn tạo mã tự động trên lập trình Winform
Đăng bởi: Thảo Meo - Lượt xem: 12407 15:45:29, 24/09/2021C#   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẽ hướng dẫn các bạn cách tạo sinh mã tự động trong lập trình C#, winform với database sqlserver.

[C#] Tutorial Automatically generate Product Code

Thường các bạn sinh viên khi học lập trình, khi nhập thông tin một form nào đó về danh sách như: sản phẩm, sinh viên, học sinh...

ma_tu_dong

Thì thường các bạn hay tạo mã tự động tăng theo dạng:

Mình ví dụ thường các bạn tạo mã tự động tăng khi thêm danh sách sinh viên như sau:

SV0001, SV0002, SV0003,..., SV000N

Ở phần sau, bạn muốn thêm bao nhiêu số 0 bất kỳ tùy ý nhé.

Ở bài này mình sẽ hướng dẫn các bạn cách tạo mã code đơn giản như vậy chỉ cần sử dụng câu lệnh SQL ngắn gọn là các bạn có thể làm được.

  • Ở phần này, các bạn lưu ý là khi tạo mã thì bạn nên tạo khi bấm lưu sinh viên hoặc sản phẩm 

Vì: nếu ứng dụng của bạn một người dùng thì không sao, nhưng cùng lúc có nhiều máy sử dụng phần mềm để nhập danh sách thì sẽ xảy ra trường hợp trùng mã.

+ Ở video hướng dẫn bên dưới này, mình cũng thực hiện cho bạn xem cách insert dữ liệu không bị lỗi sql injection thường gặp.

Chi tiết các bạn có thể theo dõi video demo ứng dụng:

Full source code C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using VBSQLHelper;

namespace DemoAutoIDStudent
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        public void LoadData()
        {
            var table_student = SQLHelper.ExecQueryDataAsDataTable("select * from tbl_sinhvien");
            dataGridView1.DataSource = table_student;
        }

        public string CreateAutoID()
        {
            return SQLHelper.ExecQuerySacalar($@"SELECT CONCAT('MASV', RIGHT(CONCAT('0000000000',ISNULL(right(max(masv),10),0) + 1),10))
                                            FROM dbo.tbl_sinhvien where masv like 'MASV%'").ToString();
        }
        private void btnAdd_Click(object sender, EventArgs e)
        {
            txt_masv.Text = CreateAutoID();
        }

        private void btn_save_Click(object sender, EventArgs e)
        {
            var masv = txt_masv.Text.Trim();
            var tensinhvien = txt_tensv.Text.Trim();
            var sql_insert = $@"INSERT INTO dbo.tbl_sinhvien
                                (
                                    masv,
                                    tensv
                                )
                                VALUES
                                (   @masv,
                                   @tensv
                                 )";

           var affectRow =  SQLHelper.ExecQueryNonData(sql_insert, new { masv = masv, tensv = tensinhvien});
            // fix insert sql injection
            if(affectRow > 0)
            {
                // Insert success
                LoadData();
                txt_masv.Text = CreateAutoID();
                txt_tensv.Text = "";
                txt_tensv.Focus();
            }
            else
            {
                MessageBox.Show("Insert fails");
            }
        }
    }
}

Thanks for watching!

Download source

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn tạo mã tự động trên lập trình Winform
Đăng bởi: Thảo Meo - Lượt xem: 12407 15:45:29, 24/09/2021C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.