1. Trang chủ
  2. » Công Nghệ Thông Tin

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

15 797 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Kết nối cơ sở dữ liệu
Năm xuất bản 2008
Định dạng
Số trang 15
Dung lượng 140,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chỉ mình code nút Thoát để có 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 OleDbDataAdapte

Trang 1

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 để có 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 = ""

Trang 2

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á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 có hình dạng như -sau :

Trang 3

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 :

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 )

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

Trang 4

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é :

Trang 5

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 "

Trang 6

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 cơ 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 cơ 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 có 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

Trang 7

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 có nó không chạy đâu , uid và pwd cũng thế , tuy nhiên nếu không có 2 cái này chỉ cần tên server và tên CSDL vẫn chạy

Mycon.open()

Có cách làm khác bạn có 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

Trang 8

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 có nhiều bạn lại hỏi dùng connectionstring có đượ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 có 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 :

Trang 9

Mô tả!!

Thường thì ta làm 1 ứng dụng nào cũng có 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ì có 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 có 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 có nhược điểm là!!! form chính và form đăng nhập đều được hiển thị (ko hay lắm) có 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 có 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 có 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

Trang 10

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 có thể tìm cách thâm nhập và mở file có chứa password thì hacker vẫn có 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 có 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

Để có thể mã hoá password bạn có 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

Trang 11

Dim strReturn As String = ""

Dim hashBytes As Byte() = encoding.GetBytes(password) ' Compute the SHA-1 hash

Dim sha1 As New SHA1CryptoServiceProvider

Dim cryptPassword = sha1.ComputeHash(hashBytes) Return Convert.ToBase64String(cryptPassword)

For Each b In cryptPassword

strReturn = strReturn & b

Next b

Return strReturn

End Function

NOTE nhớ Imports

Imports System.Security

Imports System.Security.Cryptography

Tác giả Gửi đi 29/04/2005 5:44:35 CH

nxthien

Member

Trang 12

Thế sao khi em lưu cái pass đã mã hóa mà bây giờ muốn kiểm tra thì làm thế nào hả bác? Mình cũng mã hóa cái chuổi người ta nhập vào rồi kiểm với cái mã đã lưu hay sao?

em mới học net nên ko hiểu

nxthien

Tác giả Gửi đi 29/04/2005 9:30:24 CH

test

Member

Mã hoá theo kiểu trên không thể giải mã ngược được

Để sử dụng khi người dùng nhập password để đăng nhập ta lại mã hoá lại một lần nữa, sau đó so sánh 2 chuỗi đã mã hoá với nhau nếu trùng nhau thì password là đúng

Good luck!

Tác giả Gửi đi 23/06/2005 6:36:30 CH

hanoi

Member

Theo tôi cách mà net làm rất hay,ở đây ta chỉ cho phép mã hóa một chiều

mà thôi.Nếu cho phép giải mã Thì nếu ai đó biết được chuỗi mà hóa có thể giải mã ra được và đăng nhập bình thường vào hê thống.Ví dụ nếu ta để Password lên URL thì đố ai lấy mật khẩu của minh được

Tác giả Gửi đi 17/09/2006 9:41:18 SA

demen

Trang 13

Member

Cho minh hoi ban mot ti :

Lam sao viet doan Code de Insert Password khi nguoi dung Dang ky (Register New Users ) cung nhu Retrieve khi ho dang nhap (Log in) vao CSDL nhi ?

Cam on ban nhieu

Ghi chu: Viet theo kieu Hash Password nhu cac ban da noi o tren ay Minh thay no rat la hay nen muon hoc tap de lam

Sửa chữa lần cuối cùng lúc 19/09/2006 10:30:41 CH bởi demen

Tác giả Gửi đi 17/09/2006 12:19:46 CH

dearfriend

Mod

Dễ thôi

Bạn viết môt câu 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", Tên thành viên);

cmd.Parameters.Add("@userPassword",mật khẩu đã được Hash)

cnn.Open();

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 : (Trang 3)
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 ) (Trang 3)

TỪ KHÓA LIÊN QUAN

w