Trang chủ

tự học winform c# qua ví dụ – lấy dữ liệu từ database lên listview

tự học winform c# qua ví dụ - lấy dữ liệu từ database lên listview

tự học winform c# qua ví dụ - lấy dữ liệu từ database lên listview

 

 

 

1

 

 

viết code hiện thị :

 

 

private void Form1_Load(object sender, EventArgs e)

{

SqlConnection con = new SqlConnection(“server=.;database=northwind;integrated security=true;”);

SqlDataAdapter da = new SqlDataAdapter(“select productid,productname, unitprice from products”, con);

DataTable tb = new DataTable();

da.Fill(tb);

 

listView1.Items.Clear();

 

 

listView1.View = View.Details;

listView1.Columns.Add(“masp”);

listView1.Columns.Add(“tensp”);

listView1.Columns.Add(“Gia”);

listView1.GridLines = true;

listView1.FullRowSelect = true;

 

 

int i = 0;

foreach (DataRow row in tb.Rows)

{

listView1.Items.Add(row[“productid”].ToString());

listView1.Items[i].SubItems.Add(row[“productname”].ToString());

listView1.Items[i].SubItems.Add(row[“unitprice”].ToString());

i++;

}

 

 

 

 

bài tập làm thêm :

 

 

 

 

 

 

 

Bài 1

Xây dựng ứng dụng SDI Quản lý thông tin bán hàng có form chính như sau:

 

 

 

2

 

nh 1. ng dng qun lý thông tin bán hàng.

 

Ứng dụng gồm các chức năng:

 

1.       Thêm thông tin khách hàng: Cho phép thêm thông tin một khách hàng vào ứng dụng

 

 

 

3

 

 

nh 2. Form Thêm thông tin khách hàng.

 

2.       Xem thông tin khách hàng: Cho phép xem danh sách thông tin tất cả các khách hàng đã được thêm vào

 

 

 

nh 3. Form Danh sách khách hàng.

 

3.       Thông tin ứng dụng: Cho phép xem thông tin của ứng dụng

 

 

 

4

 

 

nh 4. Form Thông tin ng dng.

 

4.       Thoát: Thoát ứng dụng

 

Chú ý: Chức năng thêm thông tin sẽ thêm vào file txt và chức năng xem thông tin sẽ đọc thông tin từ file txt

 

(Sinh viên lưu kết quả vào thư mục Bai 1)

 

 

 

Hướng dẫn

 

Bước 1: Xây dựng form frmCustomerDetail để thêm thông tin khách hàng. Form này sẽ lấy thông tin trên các textbox và lưu vào file Customers.txt

 

–       Thiết kế form như hình dưới đây

 

 

 

–       Xử lý sự kiện click cho button Thêm

 

 

 

private void button1_Click(object sender, EventArgs e)

{

string name = textBox1.Text;

string address = textBox2.Text;

string contactNo = textBox3.Text;

try

{

StreamWriter sw = new StreamWriter(“Customers.txt”, true);

sw.WriteLine(name + “|” + address + “|” + contactNo);

sw.Close();

MessageBox.Show(“Thêm thành công”);

}

catch (Exception ex)

{

MessageBox.Show(“loi : “+ex.Message);

}

 

}

 

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

 

 

 

Bước 2: Xây dựng form frmCustomerList để hiển thị thông tin tất cả các khách hàng. Form này sẽ đọc thông tin trong file và hiển thị lên Listview

 

–       Thiết kế form như hình dưới đây

 

 

 

–       Xử lý sự kiện load cho form. Khi load form, chương trình sẽ đọc thông tin của khách hàng và hiển thị lên ListView

 

 

 

public partial class Form4 : Form

{

public Form4()

{

InitializeComponent();

}

private void load_data()

{

listView1.Items.Clear();

 

 

listView1.View = View.Details;

listView1.Columns.Add(“ten”);

listView1.Columns.Add(“diachi”);

listView1.Columns.Add(“sodienthoai”);

listView1.GridLines = true;

listView1.FullRowSelect = true;

 

 

StreamReader sr = new StreamReader(“Customers.txt”);

 

String line = sr.ReadLine();

 

int index = 0;

while (line != null)

{

string[] customerInfo = line.Split(‘|’);

listView1.Items.Add(customerInfo[0]); // tên

listView1.Items[index].SubItems.Add(customerInfo[1]); // địa chỉ

listView1.Items[index].SubItems.Add(customerInfo[2]); // so dien thoai

index++;  // chuyển qua khách hàng tiếp theo

 

line = sr.ReadLine(); // đọc khách hàng mới ra

}

 

sr.Close(); // đọc xong đóng tap tin lai

 

}

private void Form4_Load(object sender, EventArgs e)

{

load_data();

}

 

 

 

Bước 3: Tạo form khởi động Main

 

–       Thiết kế form Main như hình dưới đây

 

 

 

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 

private void button1_Click(object sender, EventArgs e)

{

Form2 a = new Form2();

a.Show();

}

 

private void button2_Click(object sender, EventArgs e)

{

Form4 a = new Form4();

a.Show();

}

 

private void button3_Click(object sender, EventArgs e)

{

 

}

 

private void button4_Click(object sender, EventArgs e)

{

Application.Exit();

}

 

private void Form1_Load(object sender, EventArgs e)

{

 

}

}

 

 

 

 

 

Bài 2

Sử dụng kiến trúc không kết nối để xây dựng để viết ứng dụng Quản lý thông tin sách có giao diện như sau.

 

 

 

5

 

nh 5. ng dng khi load form.

 

 

 

1.       Khi dụng load tất cả các sách có trong CSDL và hiển thị trên ListView

 

2.       Khi nhấn chọn một sách bất kỳ trên ListView, thông tin của sách sẽ được hiển thị trên các TextBox tương ứng.

 

 

 

 

 

 

 

Yêu cầu:


6

 

Hình 6. Ứng dụng hiển thị thông tin tương ứng của bản ghi được chọn.

 

 

1.       Sử dụng SqlDataAdapter để kết nối và lấy dữ liệu từ CSDL

 

2.       Sử dụng DataSet để lưu dữ liệu

 

3.       Hiển thị dữ liệu lên ListView từ DataSet

 

(Thông tin về sách được lưu trong CSDL trong file ProductDB.sql đi kèm với bài lab này)

 

(Sinh viên lưu kết quả vào thư mục Bai 1)

 

Hướng dẫn

 

Bước 1: Khai báo các biến

 

SqlConnection conn; SqlCommand com; SqlDataAdapter da; DataSet ds;

 

Bước 2: Xử lý sự kiện load form: Khi load form sẽ xóa tất cả dữ liệu có trên ListView, sau đó đọc dữ liệu từ CSDL và hiển thị trên ListView

 

–       Xóa dữ liệu có sẵn trên ListView và DataSet

 

lvwBookDetails.Items.Clear(); ds.Clear();

 

 

–       Tạo kết nối và khởi tạo các biến

 

conn = new SqlConnection

(“Data Source=SAMSUNG-R439;Initial Catalog=ProductDB;Persist Security Info=True;User ID=sa;Password=123456”);

da = new SqlDataAdapter(); ds = new DataSet();

 

(SV thay đổi chuỗi kết nối cho đúng với máy của mình)

 

–       Lấy dữ liệu từ bảng Product trong CSDL và lưu vào DataSet

 

com = new SqlCommand(“Select * from Products”, conn); da.SelectCommand = com;

da.Fill(ds, “Products”);

 

–       Đọc dữ liệu từ DataSet và hiển thị lên ListView

 

for (int rows = 0; rows < ds.Tables[0].Rows.Count; rows++)

{

lvwBookDetails.Items.Add (ds.Tables[0].Rows[rows].ItemArray[0].ToString());

lvwBookDetails.Items[rows].SubItems.Add (ds.Tables[0].Rows[rows].ItemArray[1].ToString());

string str = String.Format

(“{0:C}”, ds.Tables[0].Rows[rows].ItemArray[2]); lvwBookDetails.Items[rows].SubItems.Add(str); lvwBookDetails.Items[rows].SubItems.Add

(ds.Tables[0].Rows[rows].ItemArray[3].ToString());

}

 

BÀI 3 LOAD DỮ LIỆU TỪ DATABASE CỦA PUBS SỬ DỤNG 2 BẢNG TITLES VÀ PUBLISHERS hiện thị lện listview.

 

7

 

 

 

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 

SqlConnection cnPubs = new SqlConnection

(“Data Source=.;Initial Catalog=pubs;Integrated Security=true;”);

 

private void Form1_Load(object sender, EventArgs e)

{

Load_Combo();

 

listView1.View = View.Details;

listView1.Columns.Add(“MaSach”);

listView1.Columns.Add(“TenSach”);

listView1.Columns.Add(“Gia”);

listView1.GridLines = true;

listView1.FullRowSelect = true;

 

Load_List();

}

 

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

Load_List();

}

 

private void Load_Combo()

{

string cmdText = “select [pub_id],[pub_name] from publishers”;

SqlCommand cmd = new SqlCommand(cmdText, cnPubs);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable(“publishers”);

da.Fill(dt);

 

comboBox1.DataSource = dt;

comboBox1.DisplayMember = “pub_name”;

comboBox1.ValueMember = “pub_id”;

}

 

private void Load_List()

{

string cmdText =

“select * from titles where (pub_id=@pub_id)”;

SqlCommand cmd = new SqlCommand(cmdText, cnPubs);

cmd.Parameters.AddWithValue

(“@pub_id”,comboBox1.SelectedValue.ToString());

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable(“titles”);

da.Fill(dt);

 

listView1.Items.Clear();

 

int i = 0;

foreach (DataRow row in dt.Rows)

{

listView1.Items.Add(row[“title_id”].ToString());

listView1.Items[i].SubItems.Add(row[“title”].ToString());

listView1.Items[i].SubItems.Add(row[“price”].ToString());

i++;

}

}

}

 

 

LAN ANH.

 

 

Xem thêm:

Gửi bình luận

Xem thêm

Giảm cân

Mua bán inox, inox 304, inox 201
Xem thêm

Kiến thức y học

Xem thêm

Thông tin giáo dục

Link hữu ích
shop bán váy đầm công chúa đẹp tại TP.HCM
shop bán Thời trang trẻ em cao cấp giao hàng toàn cầu
mua mùn cưa
váy đầm trẻ em | váy đầm công chúa | Sở giáo dục Lâm Đồng 
 |  Thu mua phe lieu
shop bán đầm bé gái đẹp tại TP.HCM

Tuyển chuyên viên thiết kế và may đầm công chúa giỏi :