- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [SOFTWARE] Giới thiệu bộ phần mềm tính Kết Cấu Thép HatteSale, Mộng Đơn, Dầm, Sàn, Móng Cọc, Vách, Xà Gồ, Tính Tải Trọng
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
[C#] Hướng dẫn tạo mã tự động trên lập trình Winform
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...
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!