ASP.NET: Thực thi truy vấn UPDATE sử dụng đối tượng SQLCommand

Người đăng: chisenhungsuutam on Thứ Ba, 30 tháng 4, 2013


<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQLClient" %>

<script language="VB" runat="server">
Sub Page_Load(Source as Object, E as EventArgs)

Dim conn As New SQLConnection("server=LOCALHOST;User id='sa';password='123';database=Northwind")
Dim UpdateCommand As SqlCommand = New SqlCommand()
UpdateCommand.Connection = conn
Dim sql As String = "Update categories Set categoryName = @CatName WHERE CategoryID = @CatID"

UpdateCommand.CommandText = sql

UpdateCommand.Parameters.Add("@CatName", SqlDbType.NVarChar, 250).Value = "Category Name"
UpdateCommand.Parameters.Add("@CatID", SqlDbType.Int).Value = 14
Try
conn.Open()
UpdateCommand.ExecuteNonQuery()
Catch ex As Exception
response.Write(ex.ToString())
Finally
conn.Close()
End Try
end sub
</script>
More about

ASP.NET: Thực thi truy vấn INSERT sử dụng đối tượng SQLCommand

Người đăng: chisenhungsuutam on Thứ Bảy, 27 tháng 4, 2013


<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQLClient" %>
<script language="VB" runat="server">
Sub Page_Load(Source as Object, E as EventArgs)
Dim conn As New SQLConnection("server=LOCALHOST;User id='sa';password='123';database=Northwind")
Dim InsertCommand As SqlCommand = New SqlCommand()
InsertCommand.Connection = conn
Dim sql As String = "INSERT INTO categories (categoryName) VALUES (@newCatName)"

InsertCommand.CommandText = sql

InsertCommand.Parameters.Add("@newCatName", SqlDbType.NVarChar, 250).Value = "Category Name"

Try
conn.Open()
InsertCommand.ExecuteNonQuery()
Catch ex As Exception
response.Write(ex.ToString())
Finally
conn.Close()
End Try
end sub
</script>
More about

ASP.NET: Thực thi truy vấn SELECT sử dụng đối tượng SQLCommand

Người đăng: chisenhungsuutam


<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQLClient" %>

<script language="VB" runat="server">
Sub Page_Load(Source as Object, E as EventArgs)

Dim conn As New SQLConnection("server=LOCALHOST;User id='sa';password='123';database=Northwind")
Dim cmd As New SqlCommand("Select categoryName from Categories", conn)
cmd.Connection.Open()

Dim reader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
While reader.Read()
response.Write(reader.GetString(1) & "<br/>")
End While
reader.Close()
conn.Close()
end sub
</script>

More about

ASP.NET: Tạo lớp kết nối CSDL trong ASP.NET

Người đăng: chisenhungsuutam on Chủ Nhật, 21 tháng 4, 2013


Việc tạo lớp (class) kết nối cơ sở dữ liệu rất có lợi, ta có thể tiết kiệm thời gian viết lại chuỗi kết nối cơ sở dữ liệu nhiều lần, lúc sửa lại Server hay CSDL thì ta không phải đến từng trang một mà chỉ cần sửa trực tiếp trên chuỗi kết nối là được.

Thêm Class kết nối
Khi đã tạo dự án (project) website bằng Visual Studio vào menu Solution Explorer tạo một đối tượng (item) mới là Class đặt tên là dataProvider.cs

Khai báo thư viện và khởi tạo các biến
Việc đầu tiên là mở dataProvider.cs khai báo thư viện, mình sử dụng kết nối bằng SQL nên khai báo thư viện System.Data.SqlClient ngoài ra còn sử dụng các Data như: dataset, datatable… nên khai báo thêm: System.Data.


using System.Data.SqlClient;
using System.Data;
Phía dưới dòng public class dataProvider bạn khai báo các biến sẽ được sử dụng trong class kết nối cơ sở dữ liệu này.




SqlConnection con;
SqlDataAdapter da;
DataSet ds;
SqlCommand cmd;
Giải thích:
  • SqlConnection: Dùng để kết nối vào cơ sở dữ liệu
  • SqlDataAdapter: Là đối tượng trung gian lấy dữ liệu FIll vào trong các đối tương Data
  • DataSet: Kho chứa dữ liệu tạm thời để xử lý
  • SqlCommand: Các xử lý truy vấn SQL thêm, xóa, sửa
Tiếp đến bạn khởi tạo kết nối bằng cách sau:

public void conncet(){ 
if (con == null)
        con = new SqlConnection("server=.; database=bcdonlinesv; integrated security = true;");
    if (con.State == ConnectionState.Closed)
        con.Open();
}

Nếu connection là null thì mới tạo kết nối, và trạng thái kết nối là đóng thì ta sẽ mở nó lên. Sau đó mình thực hiện việc đóng kết nối như sau:
public void disconnect()
{
    if ((con != null) && (con.State == ConnectionState.Open))
        con.Close();
}
Nếu connection là null và trang thái là mở thì mình sẽ đóng lại.
Hàm lấy dữ liệu (get data) trong Class kết nối
Mình phân ra hai nhóm một là lấy dữ liệu lên, hai là xử lý command còn gọi là ExeCuteNonQuery. Cách bạn lấy dữ liệu từ một chuỗi kết nối và truy vấn get sau đó đổ vào DataSet và tiến hành các xử lý.

public DataSet get(string sql)
{
    conncet();
    da = new SqlDataAdapter(sql, con);
    ds = new DataSet();
    da.Fill(ds);
    disconnect();
    return ds;
}

Đây sẽ trả về là kiểu DataSet.
Hàm xử lý Thêm, sửa, xóa trong Class kết nối
Bạn thấy các công việc thêm xóa sửa trong database chỉ khác nhau chổ truy vấn SQL nên ta sẽ gom chung nó vào một hàm. Cách bạn khai báo như sau:

public void ExeCuteNonQuery(string sql)
{
    conncet();
    cmd = new SqlCommand(sql, con);
    cmd.ExecuteNonQuery();
    disconnect();
}


Demo sử dụng các tính năng bằng lớp kết nối CSDL
Bây giờ chúng ta sẽ sử dụng class kết nối cơ sở dữ liệu vừa tạo thực hiện các thao tác lấy dữ liệu, thêm xóa sửa. 
1. Tính năng lấy dữ liệu.


dataProvider data = new dataProvider(); // Khởi tạo đối tượng từ class


Sử dụng được class phải có đối tượng ở đây mình khai báo là data. Sau đó tạo hàm load database.

private void load_data()
{
    string sql = "select * from taikhoan";
    gvTaiKhoang.DataSource = data.get(sql).Tables[0];
    gvTaiKhoang.DataBind();
}

Tiếp đến bạn load data khi gọi PageLoad.


protected void Page_Load(object sender, EventArgs e)
{

    if (!IsPostBack)
        load_data();
}


2. Demo tính năng Insert sử dụng Class kết nối.
Các tính năng như Insert, Update Delete gần như là tương tự nhau.
Click vào nút insert khai báo như sau:


protected void btInsert_Click(object sender, EventArgs e) {
        string sql = "insert into taikhoan(username,pass) values('" + txtU.Text + "','" + mahoa(txtP.Text) + "')";
        data.ExeCuteNonQuery(sql);
        load_data();
}


More about

Cài đặt: Hướng dẫn cài đặt Visual Studio 2010 (hình ảnh)

Người đăng: chisenhungsuutam

Bước 1: Click đúp vào file setup trong thư mục chứa bộ cài đặt (trong ổ cứng hoặc đĩa DVD chương trình). Màn hình lựa chọn cài đặt hiển thị, chọn Install Microsoft Visual Studio 2010
Bước 2: Chương trình sẽ giải nén bộ cài đặt để sẵn sàng cho việc cài đặt. Bạn sẽ nhìn thấy màn hình lựa chọn như bên dưới.
Bước 3: Chọn Next
Bước 4. Chương trình sẽ tự động cài đặt một số ứng dụng phục vụ cho việc cài đặt Visual Studio. Bạn chọn I have read and accept the license terms và điền tên sử dụng vào phần Name (như hình trên). Chọn next để tiếp tục.
Bước 5. Lựa chọn ngôn ngữ cài đặt bằng cách chọn các ô checkbox bên trái. Sau đó chọn nơi sẽ cài đặt vào, mặc định ở ổ C:\Program Files\......Chọn Install để sang bước tiếp theo
Bước 6. Bạn lựa chọn chi tiết hơn các công cụ, ngôn ngữ cài đặt như hình trên bằng cách đánh dấu vào các ô checkbox. Nhấn install để chương trình bắt đầu tự động cài đặt.
Bước 7. Quá trình cài đặt diễn ra, chương trình sẽ tự động cài đặt các phần mềm, ứng dụng hỗ trợ trước khi cài đặt Visual Studio 2010 (hình trên)
Sau khi cài đặt xong, màn hình sẽ hiển thị thông báo như hình trên. Bạn chọn Finish để hoàn thành.

More about

Cài đặt: Hướng dẫn cài đặt Visual Studio 2008 (hình ảnh)

Người đăng: chisenhungsuutam on Thứ Bảy, 20 tháng 4, 2013

Bước 1: Mở thư mục chứa tệp visual2008.iso –> Nháy phải chuột vào tên tệp –> Chọn PowerISO –> Chọn Mount Image to Drive ….(Bước này có thể bỏ qua nếu chúng ta có bộ cài từ DVD hoặc trong một thư mục)

Bước 2: Mở ổ đĩa DVD (Ví dụ ổ F:) –> Nháy đúp chuột vào tệp chương trình cài đặt
Bước 3: Chọn Install Visual Studio 2008 

–> Chọn Next để bắt đầu cài đặt

Bước 4: Chọn I have read and accept the license terms –> Gõ vào mục Name (Tên người dùng) –> Chọn Next 

Bước 5: Chọn hình thức cài đặt
- Default: Cài đặt theo mặc định của nhà sản xuất
- Full: Cài đặt đầy đủ các thành phần của VS2008
- Custom: Cài đặt theo lựa chọn của người dùng
–> Chọn Next

–> Chọn hoặc bỏ chọn các thành phần bằng cách đánh dấu tick trước các lựa chọn –> Chọn Install để bắt đầu cài đặt

–> Chờ cho đến khi máy cài đặt xong –> Chọn Finish




More about

Cài đặt: Hướng dẫn cài đặt Visual Studio 2005 (hình ảnh)

Người đăng: chisenhungsuutam on Thứ Tư, 17 tháng 4, 2013

Bước 1: Đưa đĩa DVD vào ổ đĩa của máy tính, nếu Autorun được bật, quá trình cài đặt sẽ hiển thị các lựa chọn trên màn hình. Ngược lại, các bạn phải click vào file Setup trong bộ cài để cài đặt bằng tay. Màn hình lựa chọn cài đặt xuất hiện như hình dưới, lựa chọn Instal Visual Studio để bắt đầu quá trình cài đặt:
Bước 2: Quá trình này sẽ copy các file cài đặt cần thiết vào 1 thư mục tạm vào tiến trình cài đặt bắt đầu
Bước 3: Sau khi chương trình cài đặt copy xong các file cần thiết, màn hình Start Page xuất hiện :
- Danh sách các chương trình cần thiết phải cài đặt trước khi cài Visual Studio 2005 (tự động cài)
- Click chuột vào lựa chọn đồng ý với các điều khoản của Microsoft
- Lựa chọn tên trong phần Your Name: phần này tùy chọn
Sau đó chọn nút Continue để sang bước tiếp theo


Bước 4: Tại trang Option Page này, bạn lựa chọn ngôn ngữ lập trình và các công cụ cần thiết cài đặt bên phía trái bằng cách click chọn vào các ô check box. Phần bên phải bạn lựa chọn vị trí sẽ cài đặt VS 2005 vào (mặc định ở ổ C). Sau đó nhấn Install để quá trình cài đặt bắt đầu.

Bước 5: Tại trang Install Page, quá trình cài đặt diễn ra khoảng 25 - 40 phút tùy cấu hình máy tính của bạn. 

More about

HTML: Tạo Frame sử dụng ngôn ngữ HTML

Người đăng: chisenhungsuutam

1.1. KHÁI QUÁT VỀ FRAME
- Có thể phân chia một trang thành các khung, cho phép người truy cập cùng một lúc có thể xem nhiều trang mà không cần cuộn màn hình, mỗi khung chứa một trang Web riêng.
- Nếu tài trang sử dụng Frame thì không sử thẻ Body
1.2. CÁCH TẠO MỘT FRAME LAYOUT
<HTML>
<HEAD>
                  <TITLE>Page Title</TITLE>
</HEAD>
<FRAMESET>
                  Frame Definitions
</FRAMESET>
</HTML>
1.2.1. Các dạng frame : Thẻ <FRAMESET> có 2 thuộc tính ROWS và COLS
            a) Tạo frame theo dòng
Cú pháp:
<HTML>
<HEAD><TITLE>Nội dung tiêu đề</TITLE></HEAD>
<Frameset Rows=”a, b…” >
<Frame name=”Name1” Src=”Content1.htm>
<Frame name=”Name2” Src=”Content2.htm>
…..
<Frame name=”Name_n” Src=”Content_n.htm>
</Frameset>
</HTML>
Trong đó: a, b: là độ cao của các dòng thứ 1, thứ 2 …, có thể tính bằng pixel hoặc bằng %
Name: tên khung, (xác định chức năng của khung)
Content.htm: địa chỉ trang web xuất hiện đầu tiên trong khung
Ví dụ:
<HTML>
<HEAD><TITLE>Frame</TITLE></HEAD>
<Frameset Rows=20%, 60%, 20%  >
<Frame name=”Head” Src=”head.htm>
<Frame name=”Content1” Src=”Content1.htm>
<Frame name=”Content2” Src=”Content2.htm>
</Frameset>
</HTML>
b) Tạo frame theo cột
Cú pháp:
<HTML>
<HEAD><TITLE>Nội dung tiêu đề</TITLE></HEAD>
<Frameset Cols=”a, b…” >
<Frame name=”Name1” Src=”Content1.htm>
<Frame name=”Name2” Src=”Content2.htm>
…..
<Frame name=”Name_n” Src=”Content_n.htm>
</Frameset>
</HTML>
Ví dụ:
<HTML>
<HEAD><TITLE>Frame</TITLE></HEAD>
<Frameset Cols=30%, 30%, *  >
<Frame name=”Baner” Src=”head.htm>
<Frame name=”Content1” Src=”Content1.htm>
<Frame name=”Content2” Src=”Content2.htm>
</Frameset>
</HTML>
1.2.2 Các thuộc tính của Frame:
a) Noresize: Không đổi kích thước
b) Scrolling: có/không có thanh cuộn
Auto: Xuất hiện thanh cuộn khi nội dung dài
Yes: luôn xuất hiện thanh cuộn
No: không xuất hiện thanh cuộn
Ví dụ:
<frameset rows="80,*" cols="*" frameborder="NO" border="0" >
                       <frame noresize src="topFrame" scrolling="NO" >
<frame noresize src="leftFrame" scrolling="NO" >
 </frameset>
c) Frameborder: đường viền của khung mặc định là 1, muốn giữa các khung không còn đường viền thì trong tag Frameset nhập thêm Border=0,
d) Marginwidth:  hiệu chỉnh khoảng cách từ nội dung đến lề trái và phải của khung (tính bằng pixel)
e) Marginheight: hiệu chỉnh khoảng cách từ nội dung đến lề trên  và dưới của khung (tính bằng pixel) 
1.2.3. Các frame lồng nhau:
<Frameset >
<Frame name=”name” src=”Page.htm”>
<Frameset>
<Frame name=”name” src=”Page.htm”>
</Frameset>
</Frameset>
1.2.4. Liên kết frame:
Trang đầu tiên của khung được chỉ ra trong thuộc tính SRC, ta có thể chỉnh các trang khác cùng xuất hiện trong khung đó bằng cách chỉ ra vị trí trang đích. Tại trang muốn tạo liên kết với khung, ta nhập cú pháp:
<a Href=”Page.htm Target=”name”>
Nhãn mục liên kết
</a>
Trong đó :
Target=Name : tên của khung mà trang muốn liên kết đến trong tag <Frame>
Page.htm: trang hiển thị trong khung liên kết
Thẻ <Base>Nếu có nhiều liên kết đến các trang xuất hiện trong cùng một khung thì thuộc tính target mặc định đặt  trong tag <Base>
<head>
<Base target=”name”>        
<a href=”URL”>Nhãn liên kết</a>
</head>

Ví dụ
: Thiết kế trang web như sau:

            Cách thực hiện:
Trang chính: Chia trang thành 3 khung: topframe, leftframe và mainframe. Trang Photo.htm đặt trong left frame, logo.htm đặt trong Topframe, Bester.htm, DuMont.htm, Jacobs.htm đặt trong mainframe
<HTML>
<HEAD><TITLE>Staff of The ColoradoExperience</TITLE>
<FRAMESET ROWS="60,*">
            <!--- Company logo --->
<FRAME SRC="Logo.htm" marginheight=1 noresize scrolling=NO name=Topframe>
            <!--- Nested frames --->
            <FRAMESET COLS="140,*">
            <!--- A list of staff photos --->
                        <FRAME SRC="Photos.htm" NAME=Leftframe>
                        <!--- Individual staff biographies --->
                        <FRAME SRC="Bester.htm" NAME=Mainframe>
            </FRAMESET>
</FRAMESET>
</HEAD>
</HTML>

Trong đó các trang Logo.htm, Photos.htm, Bester.htm phải được tạo trước
Photos.htm
<HTML>
<HEAD><TITLE>Staff hypertext links</TITLE>
<BASE TARGET=Mainframe>
</HEAD>
<BODY>
<CENTER>
<A HREF="Bester.htm"><IMG SRC="Bester.jpg" width=75 height=101> <BR> Jeff Bester</A><BR><BR>
<A HREF="DuMont.htm"><IMG SRC="DuMont.jpg" width=75 height=101>
<BR> Brian DuMont</A><BR><BR>
<A HREF="Jacobs.htm"><IMG SRC="Jacobs.jpg" width=75 height=101><BR>
Dennis Jacobs</A><BR><BR>
</CENTER>
</BODY>
</HTML>


Bester.htm
<HTML>
<HEAD><TITLE>Jeff Bester</TITLE></HEAD>
<BODY>
<IMG SRC="Bester2.jpg" WIDTH=90 HEIGHT=125 ALIGN=LEFT>
<FONT SIZE=2>
<TABLE>
<TR>
<TD VALIGN=TOP><B>Name:</B></TD>
<TD VALIGN=TOP>Jeff Bester</TD>
</TR>
<TR>
<TD VALIGN=TOP><B>Age:</B></TD>
<TD VALIGN=TOP>37</TD>
</TR>
<TR>
<TD VALIGN=TOP><B>Experience:</B></TD>
<TD VALIGN=TOP>Twelve years climbing. Three years with The Colorado Experience</TD>
</TR>
<TR>
<TD VALIGN=TOP><B>EMT:</B></TD>
<TD VALIGN=TOP>Yes</TD>
</TR>
</TABLE><BR CLEAR=LEFT>
Jeff has led routes in Yosemite, Eldorado, Mount Ranierand Rocky
Mountain National Park. He has participated in expeditions in Denali,
Mexico and Nepal. We are happy to welcome back Jeff for his fourth
year with The Colorado Experience. Jeff will be leading tours to Eldorado
Canyon.
</FONT>
<BODY>
</HTML> 


 Các trang DuMont.htm, Jacobs.htm cũng thiết kế tương tự.
Logo.htm

  <HTML>
<HEAD><TITLE>HEAD</TITLE></HEAD>
<BODY BACKGROUND="Mountain.jpg">
<IMG SRC="TCELogo.gif" WIDTH=550 HEIGHT=60>
</BODY>
</HTML>

 




More about