PDA

View Full Version : Hỏi về SqlDataAdapter và Sqlconnection !!!!!!



anhsaodem172002
25-09-2007, 09:31
Mình đang học lập trình web bên C# nhưng mình ko biết làm thế nào để tạo một đối tượng SqlDataAdapter. Khi mình tạo một connection đến SQL server để lấy dữ liệu, khi mình drop bảng dữ liệu đó vào thì nó chỉ tạo ra một SqlDataSource mà thôi. Trong khi mình đọc tài liệu thì nó bảo là chỉ cần drop một bảng vào Web form thì nó sẽ tự động tạo ra hai đối tượng là SqlDataAdapter và SqlConnection. Các bạn có thể nói rõ hơn cho mình về cái này không ?

candylove363
25-09-2007, 21:58
Bạn có thể tự tạo đối tượng DataAdapter bằng cách tạo 1 thể hiện của nó:
SqlDataAdapter myadap = new SqlDataAdapter(selectCommandText,connectionString) ;
rồi dùng myadap đển chứa dữ liệu.

nowforever
26-09-2007, 22:24
Hông biết làm kéo thả theo cách của bạn có chỉ dc hông?
Bạn chỉ cần kéo sqlDataAdapter vào là nó tạo cái SqlConnection thôi. Rồi bạn config cái sql adapter đó.

anhsaodem172002
27-09-2007, 22:48
Các bạn có thể cho mình code kết nối CSDL SQL dùng đối tượng SqlDataSource được không ?

saigon1990
28-09-2007, 00:32
Bạn dùng kéo thả cái SqlDataSource control vô cái trang rồi làm theo các bước của nó là xong thôi.

Cách làm:
kéo thả SqlDataSource từ toolbox/Data -> configure Data Source -> set connection -> Configure select statement -> finish.

kéo thả một dropdownlist control -> chọn datasource = SqlDataSource mời tạo ở trên, là xong rồi.

Còn nếu muốn code thì dưới đây:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="server=localhost;database=Northwind;uid=username;p wd=***x;"
SelectCommand="SELECT [CompanyName] FROM [Customers]"></asp:SqlDataSource>


<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1"
DataTextField="CompanyName" DataValueField="CompanyName">
</asp:DropDownList>

happy coding
tn

000000
01-10-2007, 14:09
viết 1 Hàm connection :

public void Connect ()
{
SqlConnetion conn = new SqlConnection ("Server = local ;database = pubs ; uid =sa ; pwd = ") ;
string sql = "Câu lệnh Sql" ;
SqlDataAdapter sqlda = new SqlDataAdapter (sql,conn);
DataTable dt = new DataTable () ;

try
{
sqlda.Fill (dt)
Response.Write ("abc abc :P ") ;
}
catch (Exception ex )
{
Response.Write (ex.Message);
}

}


Nhưng theo 1 số ông thì cái trên là Hard Code ===> Nên viết connect trong WebConfig
===> Thêm đoạn này vào Webconfig
<appSetting>
<add key = conn value ="Server = ; database = ; uid = ; pwd ="></add>
</appSetting>

Sau đó ở trong webform để gọi ra ta cần
using System.Configuration;

Sau đó thêm vào :

SqlConnection con = ConfigurationSettings.AppSetting["conn"] ;

trong Visual 2005 thì ta xài ConfigurationManager .........

Nhà vừa xóa Visual ... gõ ngay trên diễn đàn ... nên dễ sai ... ! Thông cảm nhé ... !

anhsaodem172002
02-10-2007, 09:35
Thank nhiều nha!Mình mới học ASP nên hỏi hơi nhiều, các bạn thông cảm nha!

anhsaodem172002
02-10-2007, 09:38
Ah cho mình hỏi một chút nữa được không, khi nào thì mình viết code trong sự kiện pageload và trong file *.cs và khi nào thì mình viết code trong chính trang ASP đó ? Thanks !

nowforever
02-10-2007, 15:35
thích code lúc nào thì code. ko có rule quy định cho chuyện này. Nhưng có code behind rùi, sao phải lăn tăn chuyện code vào trong aspx làm chi nhỉ.
Về nguyên tắc, Bạn nên code hoàn toàn vào code behind. aspx chỉ làm presentation thôi.

anhsaodem172002
04-10-2007, 13:09
Mình làm theo cách của bạn được rồi nhưng nếu mình muốn thêm một dòng dữ liệu mới vào cái bảng đó thì làm sao ? Nếu có code thì cho mình luôn ! Thanks nhiều nha !