Kết nối cơ sở dữ liệu

15 796 0
Kết nối cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bạn nào chỉ mình viết form đăng nhập sử dụng csdl với. Khi đăng nhập vào được rồi thì đóng form đăng nhập lại thế nào? Chỉ mình code nút Thoát để thể thoát hoàn toàn VB nhé Code tham khảo, sử dụng csdl access Private con As OleDbConnection Dim dt As New DataTable("login") Dim da As New OleDbDataAdapter() Private Sub ket_noi() Dim cn As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Application.StartupPath() & "\csdlnhahang.mdb;" & "Persist Security Info=False" Try con = New OleDbConnection(cn) con.Open() Catch ex As Exception MessageBox.Show("Don't connect to database", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End Sub Private Sub cmdlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdlogin.Click Dim command As New OleDbCommand() command.Connection = con command.CommandType = CommandType.Text command.CommandText = "Select * From login Where (Name ='" & txtname.Text & "') And (Pass ='" & txtpass.Text & "')" da.SelectCommand = command da.Fill(dt) If dt.Rows.Count > 0 Then frmquanlynhahang.Show() frmquanlynhahang.cmdtamdung.Text = "Tạm dừng làm việc" frmquanlynhahang.MenuStrip1.Enabled = True frmquanlynhahang.grchung.Enabled = True Me.Hide() frmquanlynhahang.lbuser.Text = ">>> Bạn đã đăng nhập với tài khoản: " & txtname.Text & " (*._.* Chúc bạn một ngày làm việc tốt lành *._.*)" txtpass.Text = "" Else If (MessageBox.Show("Sai thong tin dang nhap, xin moi dang nhap lai!", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) = Windows.Forms.DialogResult.OK) Then txtname.Focus() Else Me.Close() Global.System.Windows.Forms.Application.Exit() End If End If dt.Clear() End Sub bài 2 Bài thực hành VB.net số 1 và 2 SATURDAY, 27. SEPTEMBER 2008, 13:18:32 đây là cách hướng dẫn các bạn thực hành VB.net với CSDL SQL , các bạn đọc và làm theo nhé , mình không post bài lên là vì nếu như thế các bạn sẽ lười không chịu học phần 1 tạo form đăng nhập : theo yêu cầu của thày là các bạn phải tạo 1 form đăng nhập CSDL trước bằng cách dùng file app.config nhưng theo Hiếu như thế thì sẽ không linh động các bạn làm theo cách sau : trước tiên các bạn tạo một module các thuộc tính sau : -------------------------------------------- Module Module1 Public gscon As String Public user, pass, group End Module ---------------------------------------------- sau đó các bạn tạo một form đăng nhập hình dạng như sau : sau khi tạo form hình dạng như thế này các bạn tạo một form đăng nhập thứ 2 là form đăng nhập người dùng : tiếp đó các bạn tạo form frmmain hình dạng như sau ( lưu ý hình nền do các bạn tự chọn tôi để chế độ mặc định ) bây giơ chúng ta vào việc viết code nội dung code như sau : trước tiên chúng ta viết code cho nút connect trong form đăng nhập CSDL như sau : ta thêm khai báo không gian sử dụng vào ------------------------------------------- Imports System.Data Imports System.Data.SqlClient --------------------------------------------- nội dung của nút connect nh sau : ----------------------------------------------------------- Dim mycon As SqlConnection Dim str As String str = " server=" & TextBox1.Text str += ";database=" & TextBox2.Text If TextBox3.Text = "" Or TextBox4.Text = "" Then str += ";integrated security=SSPI" Else str += ";uid=" & TextBox3.Text str += ";pwd=" & TextBox4.Text End If gscon = str mycon = New SqlConnection mycon.ConnectionString = str Try mycon.Open() If mycon.State <> ConnectionState.Closed Then myForm = New LoginForm1 myForm.Show() Else MsgBox("thong so sai " & TextBox1.Text & vbCrLf & TextBox2.Text & vbCrLf & TextBox3.Text & vbCrLf & TextBox4.Text) End If Catch ex As Exception MsgBox(ex.ToString) End Try --------------------------------------------------------------------------------------- như vậy là chúng ta đã kết nối tới CSDL vào một server bất kỳ chúng ta muốn ; còn nút thoát các bạn tự viết nhé ; tiếp đến form đăng nhập người dùng ; nếu sau khi đăng nhập CSDL thành công bạn mới vào được form này nhé : bây giờ chúng ta viết code cho nút OK trước tiên bạn phải khai báo không gian sử dụng là : --------------------------------------------------------------- Imports System.Data Imports System.Data.SqlClient ---------------------------------------------------------------- sau đó viết code cho nút lệnh như sau : ---------------------------------------------------------------- Dim Cnn As New SqlConnection(gscon) Dim cmd As SqlCommand = New SqlCommand() Cnn.Open() cmd.Connection = Cnn cmd.CommandType = CommandType.Text cmd.CommandText = "select*from phanquyen where username='" & UsernameTextBox.Text & "'" Dim reader As SqlDataReader reader = cmd.ExecuteReader While reader.Read If PasswordTextBox.Text = reader("pass") Then Dim a As String a = reader("nhom") user = UsernameTextBox.Text pass = PasswordTextBox.Text If a = "quan ly " Then frmmain.Show() frmmain.ToolStripStatusLabel1.Text = "nguoi su dung la :" & user frmmain.ToolStripStatusLabel2.Text = "chương trình quản lý sách " ElseIf a = "nhap lieu" Then frmmain.HệThốngToolStripMenuItem.Enabled = False frmmain.Show() frmmain.ToolStripStatusLabel1.Text = "nguoi su dung la :" & user frmmain.ToolStripStatusLabel2.Text = "chương trình quản lý sách " Else user = UsernameTextBox.Text pass = PasswordTextBox.Text frmmain.HệThốngToolStripMenuItem.Enabled = False frmmain.CậpNhậtToolStripMenuItem.Enabled = False frmmain.Show() frmmain.ToolStripStatusLabel1.Text = "nguoi su dung la :" & user frmmain.ToolStripStatusLabel2.Text = "chương trình quản lý sách " End If Else MessageBox.Show(" mat khau hoac ten su dung khong hop le ") End If End While reader.Close() Cnn.Close() ------------------------------------------------------------------------------ như thế chúng ta đã kết nối với CSDL để truy xuất người dùng được nếu thành công nó gọi form main ra cho các bạn đó là nội dung của hai bài thực hành đầu , còn về phần tạo menu thì các bạn tự làm cái này mình không hướng dẫn , tuy nhiên để hiểu rõ bản chất của các câu lệnh bên trong chương trình thì các bạn nên đọc kỹ bài hướng dẫn đầu của mình và làm bài tập mình giao , nếu không làm được liên hệ lại để mình gửi lên , tuy nhiên các bạn cố gắng làm đi nhé , chúc thành công bài 1 kết nối CSDL trong VB.net FRIDAY, 26. SEPTEMBER 2008, 04:34:04 Chào các bạn hôm nay mình xin mạn phép hướng dẫn các bạn thao tác tương tác với CSDL thông qua VB.net Bài 1. Thao tác kết nối CSDL bằng lệnh Trước tiên các bạn phải hiểu chế ba tầng của .net ADO.net khái niệm con trỏ (cursor ) không tồn tại , thay vào đó đối tượng được xem là một con trỏ tĩnh và đối tượng dataadapter chỉ đọc Chào các bạn hôm nay mình xin mạn phép hướng dẫn các bạn thao tác tương tác với CSDL thông qua VB.net Bài 1. Thao tác kết nối CSDL bằng lệnh Trước tiên các bạn phải hiểu chế ba tầng của .net ADO.net khái niệm con trỏ (cursor ) không tồn tại , thay vào đó đối tượng được xem là một con trỏ tĩnh và đối tượng dataadapter chỉ đọc ADO.net cung cấp các quá trình điều khiển ứng với các loại CSDL chẳng hạn SQL, OLEDB.net là trình điều khiển dùng trong các loại CSDL tương tac nhúng VD access , excel … tuy nhiên cũng thể dùng nó cho SQL 7.0 ODBC.net là trình điều khiển dùng cho các loại CSDL trương tác thông qua ODBC của hệ điều hành Window I.trình điều khiển CSDL Các thuộc tính cần lưu ý khi bạn dùng các trình điều khiển này Sqlconnection Oledbconnection Sqlcommand Oledbcommand SqldataAdapterOldbdataAdapter sqldataReaderoldbdataReader SqlparamaterOledbparamater Sau đây chúng ta xem phần diễn giải các thuộc tính command , connection ,dataAdapter Đối tượng Diễn giải Connection Thiết lập kết nối csdl với nguồn CSDL Command Thức hiện trên nguồn dữ liệu , đặt vào các tham số và thu nhận chuyển tác từ connection dataReaderĐọc luồng dữ liệu từ dữ liệu nguồn theo một chiều dataAdapterLưu trữ dữ liệu đối tượng dataset và giải quyết vấn đề thao tac dữ liệu cập nhật và trở lại nguồn dữ liệu Bây giờ chúng ta hãy xem cách kết nối CSDL với SQL thế nào : Trước tiên chúng ta phải khai báo không gian sử dụng Imporst system.data Imports system.data.sqlclient Như vậy đã khai báo xong không gian sử dụng nhưng nhớ là phải khai báo trước từ khóa Pulic class Tiếp theo chúng ta khai báo biến sử dụng để kết nối Dim mycon as sqlconnection Đây là đoạn lệnh để kết nối csdl Mycon=new sqlconnection(“ server=. ;uid=sa;pwd=.; database=Northwind” ) Lưu ý server= . tức là tôi để mặc định cho các bạn điển tên server của các bạn vào nếu không nó không chạy đâu , uid và pwd cũng thế , tuy nhiên nếu không 2 cái này chỉ cần tên server và tên CSDL vẫn chạy Mycon.open() cách làm khác bạn thể xem đoạn code sau Dim mycon as sqlconnection Dim str as string Mycon=new sqlconnection Str=” server=. ; uid=.;pwd=. ;database=Northwind” Mycon.connetionstring =str Mycon.open() Như vậy ta đã mở được CSDL SQL Bây giờ chúng ta kết nối CSDL access và excel Để kết nối CSDL loại này chúng ta phải khai báo không gian sử dụng Imporst system.data Imporst system.data.oledb Sau đó chúng ta mới dùng đoạn lệnh sau để kết nối Dim mycon as oledbconnection Mycon=new oledbconnection(“provider=Microsoft.jet.oledb.4.0;datasource=…”) Mycon.open() Như vậy chúng ta đã kết nối vớ access tuy nhiên nhiều bạn lại hỏi dùng connectionstring được không ? câu trả lời là được đoạn lệnh như sau : Dim mycon as oledbconnection Dim str as string Mycon=new oledbconnection Str =“provider=Microsoft.jet.oledb.4.0;datasource=…” Mycon.connectionstring=str Mycon.open() Tương tự chúng ta kết nối csdl excel Khi kết nối excel chúng ta vẫn dùng oledb chuối kết nối như sau : Str=”provider=microsoft.jet.oedb.4.0” Str+=” ;datasource=…….” Str+=”;extended properties=” ” excel 8.0;HDR=Yes;””” Còn lại chúng ta làm tương tự như kết nối access Bài tập bậy giờ các bạn dựa trên những gì mình nói hãy thực thi chương trình giao diện sau : Khi chạy nếu ấn nút kêt nối nào nó thông báo đã kết nối được hay không trên texbox Chúc các bạn thành công Hết buổi 1 : Mô tả!! Thường thì ta làm 1 ứng dụng nào cũng phần đăng nhập!! Vấn đề là việc hiển thị form đăng nhập!! Nhiều người hỏi cách làm sao để form đăng nhập hiển thị trước form chính!! ở đây theo tui biết thì 3 cách!! Cách 1: Load form đăng nhập trước!! --> đăng nhập thành công thì hide nó đi và cho gọi form chính lên (cách này nhược điểm là form đăng nhập chỉ hide đi chứ ko close ) vì vậy nó ko hay và tốn bộ nhớ Cách 2: trong sự kiện Load form chính ta gọi form con hiển thị bằng phương thức Showdialog() . Sau khi đăng nhập thành công thì close() form con lại!!! Cách này cũng hay nhưng nhược điểm là!!! form chính và form đăng nhập đều được hiển thị (ko hay lắm) nhìu bạn đem hide() form chính đi. nhưng kết quả là sẽ ko chạy được form đăng nhập kakakka; Cách 3 : Mô tả cũng giống cách 2 nhưng ta ko đặt sự kiện showdialog() ở sự kiện loadform nữa mà ta thực hiện nó trước khi form chính khởi tạo các thành phần của nó (Đây chỉ là 1 thủ thuật nhỏ thui ) Code: public FormCha() { FormCon f = new FormCon(); f.ShowDialog(); InitializeComponent(); } mọi vấn đề ở cách 1 và cách 2 đều được giải quyết !! các bạn thể download mã nguồn file Attach chúc thành công Nói chung, đã sử dụng web động thì website phải khả năng cập nhật online. Khi đó một vấn đề đặt ra là làm sao chúng ta bảo mật được phần thông tin cập nhật. Điều đó dẫn tới tất yếu phải đặt mật khẩu và username cho trang hoặc cho thư mục chúng ta sử dụng để cập nhật. Ngay cả trong trường hợp đó, nếu bằng một phương pháp nào đó hacker thể tìm cách thâm nhập và mở file chứa password thì hacker vẫn thể sử dụng password để phá hoại website. Để chống lại khả năng bị hack này chúng ta cần phải mã hoá password để ngay cả khi hacker đã mở được file chứa password cũng ko thể biết được mật khẩu chúng ta sử dụng. .net cung cấp phương pháp để mã hoá password theo phương thức không thể giải mã là MD5 và SHA1 Để thể mã hoá password bạn thể dùng câu lệnh sau: string strHash = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConf igFile ("sadfd","MD5"); //có thể thay MD5 bằng SHA1 sau đó lưu strHash vào CSDL hoặc vào Web.config tuỳ theo yêu cầu của bạn. Code Vb.net Dim strHash as String = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConf igFile("password của bạn","MD5") Tác giả Gửi đi 07/04/2005 11:51:37 CH Cyber Member Public Function EncryptPassword(ByVal password As String) As String Dim encoding As New UnicodeEncoding Dim b As Byte [...]... lệnh SQL hoặc tạo môt STORE PROCEDURE trong sql (hay access), VD: string commandText = INSERT INTO Users(UserName,UserPassword) VALUES(@userName,@userPassword) Tạo một kết nối đến csdl, VD: SqlConnection cnn = new SqlConnection(chuỗi kết nối) ; Tạo một sql command hay OleDb command object tuỳ theo loại CSDL bạn sử dụng, ví dụ; SqlCommand cmd = new SqlCommand(commandText,cnn) cmd.Parameters.Add("@userName",... chữa lần cuối cùng lúc 17/09/2006 12:20:33 CH bởi dearfriend Tác giả Gửi đi 18/09/2006 3:24:06 SA demen Member Cám ơn bạn nhièu nha , Mình sẻ thử như cách bạn chỉ Nói thật mình không biết làm sao để nối hai đoạn Code giửa Hash Password và Code Insert lại với nhau Mình dùng VB và Sql server 2000 À kỳ này Forum xem bộ khá tốt Mình hy vọng sẽ nhận được nhiều sự giúp đỡ của mọi nguời Chúc May mắn . liệu từ dữ liệu nguồn theo một chiều dataAdapterLưu trữ dữ liệu đối tượng dataset và giải quyết vấn đề thao tac dữ liệu cập nhật và trở lại nguồn dữ liệu. lập kết nối csdl với nguồn CSDL Command Thức hiện trên nguồn dữ liệu , đặt vào các tham số và thu nhận chuyển tác từ connection dataReaderĐọc luồng dữ liệu

Ngày đăng: 18/10/2013, 00:15

Hình ảnh liên quan

sau khi tạo form có hình dạng như thế này các bạn tạo một form đăng nhập thứ 2 là form đăng nhập người dùng :  - Kết nối cơ sở dữ liệu

sau.

khi tạo form có hình dạng như thế này các bạn tạo một form đăng nhập thứ 2 là form đăng nhập người dùng : Xem tại trang 3 của tài liệu.
tiếp đó các bạn tạo form frmmain có hình dạng như sau ( lưu ý hình nền do các bạn tự chọn tôi để chế độ mặc định )  - Kết nối cơ sở dữ liệu

ti.

ếp đó các bạn tạo form frmmain có hình dạng như sau ( lưu ý hình nền do các bạn tự chọn tôi để chế độ mặc định ) Xem tại trang 3 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan