Các tiện ích lập trình

Các ghi nhớ khi lập trình

1. Định dạng số ngày theo định dạng của máy.

System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CurrentCulture;

Không nên chọn kiểu en-US hay vi-VN vì khi người dùng thay đổi sẽ ảnh hưởng

2.Chỉnh font chữ

fontchu

3. Bấm vô nút mở form

frm_PhieuDeNghiThanhToan pdntt;
private void barPhieuDeNghiThanhToan_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
if (pdntt == null || pdntt.IsDisposed == true)
{
foreach (Form f in MdiChildren)
{
f.Close();
}
pdntt = new frm_PhieuDeNghiThanhToan();
pdntt.MdiParent = this;//Đặt form cha cho childForm là form này
pdntt.Show();//Hiển thị nó lên
}
}

4. Định dạng ngày tháng năm report cách đơn giản

DateTime ngaylap = DateTime.Parse(DDH.Rows[0]["NgayLapDonDatHang"].ToString());
txtNam.Text = "Ngày " + ngaylap.Day + " tháng " + ngaylap.Month + " năm " +ngaylap.Year;

 5. Selected trong combobox

cbTaiKhoan.ValueMember = "IDTaiKhoanTien";
cbTaiKhoan.DisplayMember = "TenTaiKhoan";
cbTaiKhoan.DataSource = dt;

==> it is ok

Ngược lại gán datasource trước khi định nghĩa value và display thì xem như vô nghĩa

6. Bỏ nút Edit Filter

 tat edit filter

7. Lấy giá trị ValueMember của gridLookUpEdit

gridLookUpEdit1.EditValue

8. Cẩn thận với lưu kiểu float,

Khi lấy dữ liệu trên control của Form, các bạn cứ đổi thành kiểu decimal 

Truyền tham số cứ để decimal như câu lệnh sau

decimal soluong = Convert.ToDecimal("chuong can");
cmd.Parameters.Add("@SoLuong", SqlDbType.Float).Value = soluong;

KHÔNG NÊN DÙNG HÀM ROUND NHÉ

9. Chỉnh sửa report bằng phím lên xuống qua lại

- Tô hình vuông trên đối tượng mới có thể di chuyển đối tượng đó bằng phím lên xuống qua lại, nếu đi chậm thêm nút ctrl

- Chọn thẳng vào đối tượng thì không thể di chuyển.

10, Kiểm tra rỗng và null trước khi convert 1 số từ chuỗi.

decimal f_thucXuat = String.IsNullOrEmpty(row["ThucXuat"].ToString()) ? 0 : Convert.ToDecimal(row["ThucXuat"].ToString());

11. So sánh từ ngày đến ngày không sử dụng convert trong sql để tối ưu hiệu năng

DateTime tu_ngay = dateTimePicker1.Value.Date;

DateTime den_ngay = dateTimePicker2.Value.Date;

den_ngay= den_ngay.AddDays(1);

SQL: where [NgayLap] >= @tu_ngay and [NgayLap] < @den_ngay

 

 

Hướng dẫn xóa Instance SQL Server khi trình gỡ cài đặt bị lỗi

Bước 1: Mở CMD với quyền Administrator, gõ lệnh để xóa service: sc delete MSSQLSERVER

service

Bước 2: Xóa các key sau đây trong Registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

Bước 3: Chuyển đến key sau: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallvà xóa tất cả các sub key liên quan đến SQL Server.

Bước 4: Chuyển đến key sau: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services và xóa tất cả các key liên quan đến SQL Server

Bước 5: Xóa tất cả các thư mục SQL Server trong máy tính ở C:\Program Files\Microsoft SQL Server và các thư mục con khác.

Thêm DataTable vào DataBase SQL

Bước 1: Định nghĩa một kiểu bảng mới trong SQL. 

CREATE TYPE [dbo].[MyTableType] AS TABLE( [Id] int NOT NULL, [Name] [nvarchar](128) NULL )

Bước 2: Tạo một store procedure

CREATE PROCEDURE [dbo].[InsertTable]

@myTableType MyTableType readonly

AS BEGIN

insert into [dbo].Records select * from @myTableType

END

Bước 3: Thực thi store procedure InsertTable với parameter là một datatable cần insert vào database

using (var command = new SqlCommand("InsertTable") {CommandType = CommandType.StoredProcedure})

{ var dt = new DataTable();

//create your own data table

command.Parameters.Add(new SqlParameter("@myTableType", dt));

SqlHelper.Exec(command); }

Chat với Agitech