[MSSQL-SMO]-Bộ thư viện lập trình Database SMO (SQL Server Management Objects)

Chào các bạn,

Cách đây khoản chừng chục năm, chưa có môi trường .NET thì chắc hẳn ai đã từng làm việc trên môi trường lập trình Windows 32 thì cũng ít nhiều biết đến bộ thư viện COM/DCOM : DMO của Microsoft cung cấp. Bộ thư viện này cung cấp các hàm, thủ tục và các đối tượng giúp lập trình viên truy cập vào Database Engine dễ dàng hơn. Tuy nhiên việc sử dụng COM/DCOM vất vả và không ổn định.

Các bạn tham khảo tài liệu SMO : https://msdn.microsoft.com/en-us/library/hh248032.aspx

Sau khi có bộ Microsoft Framework, Microsoft đã phát triển lại bộ DMO thành SMO để lập trình viên có thể dễ dàng tích hợp vào các .NET Project hơn.

2015-05-18_233149

1.Vậy bộ thư viện SMO (SQL Server Management Objects) là gì, giúp ích gì cho lập trình viên hệ thống và DBA ?

Continue reading “[MSSQL-SMO]-Bộ thư viện lập trình Database SMO (SQL Server Management Objects)”

[MSSQL]-Công cụ tạo Store Procedure động từ table trong Database

Chào các bạn,

Cường giới thiệu công cụ tạo store procedure động do Cường tự phát triển dựa trên nền tảng .NET và bộ thư viện SQL SMO của Microsoft SQL Server.
Hy vọng công cụ này sẽ hữu ích cho các bạn khi tạo store procedure và C# Object.

2015-05-15_112524

Continue reading “[MSSQL]-Công cụ tạo Store Procedure động từ table trong Database”

[.NET]-COM, .NET và bản chất của nó

Chào các bạn,

Cường xin mở topic này và mô tả sự hiểu biết của Cường về Com, .NET để các bạn mới bước vào lập trình hiểu rõ hơn một chút, các bạn “Cao thủ” thấy có sai sót gì góp ý cho Cường. Cảm ơn.

Trước hết mình xin giới thiệu hai loại lập trình trên Windows:

Windows Programming

Continue reading “[.NET]-COM, .NET và bản chất của nó”

Nên học và làm C# hay VB.NET

Kính gủi các bạn,

Hôm nay tôi xin mở chủ đề về học ngôn ngữ lập trình nào thích hợp cho các bạn. Tôi đã làm và tiếp xúc với khá nhiều người lập trình giỏi có, trung bình và yếu có. Tôi rút ra một điều rằng, hầu hết các bậc thầy về lập trình điều không có khái niệm về ngôn ngữ lập trình. Họ có thể làm bất cứ ngôn ngữ nào từ “thượng vàng đến hạ cám” từ .NET, Java, PHP cho đến các ngôn ngữ cấp trung bình và thấp như C++, Pascal.. Điều đó cho ta thấy rằng ngôn ngữ lập trình chỉ đóng góp một phần trong công việc và dự án.

Có nhiều bạn hỏi tôi rằng : “Nên học và làm C# hay VB.NET”, họ nói với tôi rằng họ có dự định là sẽ học và làm C# vì C# nhanh hơn, mạnh hơn, thuần túy hướng đối tượng hơn …VB.NET.

Thiết nghỉ chúng ta đang mù mờ về môi trường lập trình .NET. DotNet Frame. Microsoft đã rất khôn khéo khi xây dựng .NET Framework:

  • Tính nhất quán trong nhiều ngôn ngữ lập trình : Với .NET Framewor, bạn có thề sử dụng C#, VB.NET, J# để phát triển ứng dụng, tuy nhiên bắt buộc phải thông qua môi trường .NET Framework.
  • Framework mang lại cho chúng ta rất nhiều tiện ích được tích hợp sẵng và chỉ cần Plug and Play (cắm là chạy)

Nên dùng C# hay VB.NET ?

  • Theo tôi C# hay bất kỳ ngôn ngữ lập trình phụ thuộc vào .NET Framework. Chính vì vậy về mặc xử lý chương trình là như nhau.
  • .NET Framework có điểm mạnh là kế thừ toàn vẹn kiến trúc lập trình hướng đối tượng của Java vì vậy C# hay VB.NET điều là như nhau, C#, VB.NET điều thừa hưởng được mô hình lập trình hướng đối tượng.
  • Đối với những người đã viết ứng dụng từ VB5, VB6 thì VB.NET là thứ không thể thay đổi.

 

Kết luận :

  • Tùy vào sử thích và thói quen mà chọn ngôn ngữ lập trình cho thích hợp và kiếm tiền được từ nó.

C# và Postgres SQL database

Hiện nay công nghệ .NET hầu như đã cung cấp cho chúng ta nhiều driver để kết nối đến nhiều loại Database khác nhau, từ Oracle, SQL Server, Access… Trong số đó có một Hệ quản trị CSDL mã nguồn mở và được sử dụng khá nhiều nhưng .NET quên support đó là Postgres SQL Database. May thay đã có cộng đồng mã nguồn mở phát triển driver và hỗ trợ
1 – Trước tiên download Postgres Database tại đây :
2 – Download database Driver tại đây
3 – Sau khi xả nén thư viện NPSQL chúng ta sẽ thấy tập tin “Npgsql.dll”
4 – Tạo project mới trên VS2k5, VS2k8, VS2010
add reference “Npgsql.dl” vào project
và thêm vài thao tác cơ bản như làm việc trên MSSQL server
using Npgsql;
NpgsqlConnection con;
string connectionString =
“Server=localhost;” +
“Database=northwind;” +
“User ID=postgres;” +
“Password=yourpassword”;
private void button1_Click(object sender, EventArgs e)
{
con = new NpgsqlConnection(connectionString);
try
{
con.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
NpgsqlDataAdapter da = new NpgsqlDataAdapter();
NpgsqlCommand cmd = new NpgsqlCommand(“select * from table_name”);
da.SelectCommand = cmd;
cmd.Connection = con;
DataSet ds = new DataSet();
da.Fill(ds, “table”);
dataGridView1.DataSource = ds.Tables[0];
}

Hiện nay công nghệ .NET hầu như đã cung cấp cho chúng ta nhiều driver để kết nối đến nhiều loại Database khác nhau, từ Oracle, SQL Server, Access… Trong số đó có một Hệ quản trị CSDL mã nguồn mở và được sử dụng khá nhiều nhưng .NET quên support đó là Postgres SQL Database. May thay đã có cộng đồng mã nguồn mở phát triển driver và hỗ trợ
http://npgsql.projects.postgresql.org/index.html
1 – Trước tiên download Postgres Database tại đây :  http://www.enterprisedb.com/products/pgdownload.do#windows
2 – Download database Driver tại đây   http://pgfoundry.org/frs/?group_id=1000140
3 – Sau khi xả nén thư viện NPSQL chúng ta sẽ thấy tập tin “Npgsql.dll”
4 – Tạo project mới trên VS2k5, VS2k8, VS2010   add reference “Npgsql.dl” vào project
và thêm vài thao tác cơ bản như làm việc trên MSSQL server
using Npgsql;      NpgsqlConnection con;        string connectionString =            “Server=localhost;” +            “Database=northwind;” +            “User ID=postgres;” +            “Password=yourpassword”;        private void button1_Click(object sender, EventArgs e)        {            con = new NpgsqlConnection(connectionString);            try            {                con.Open();            }            catch (Exception ex)            {                MessageBox.Show(ex.Message);            }        }
private void button2_Click(object sender, EventArgs e)        {            NpgsqlDataAdapter da = new NpgsqlDataAdapter();            NpgsqlCommand cmd = new NpgsqlCommand(“select * from table_name”);             da.SelectCommand = cmd;            cmd.Connection = con;            DataSet ds = new DataSet();             da.Fill(ds, “table”);            dataGridView1.DataSource = ds.Tables[0];        }