Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 3 của 4 Đầu tiênĐầu tiên 1234 CuốiCuối
Kết quả 21 đến 30 của 37
  1. #21
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cách trên là lấy hết data từ csdl vào dataset mỗi bảng tương ứng với một datatable trong dataset thôi. Còn bạn muốn làm các quan hệ ràng buộc như ỡ trong database thì bạn cần phải làm DataRelation nữa mới được (http://msdn.microsoft.com/en-us/libr...(v=vs.71).aspx) hoặc bạn làm Typed DataSet bằng cách kéo thã từ Sever Explorer vào cũng được nó sẽ tạo code cho bạn.

  2. #22
    nó ko được thành các bảng tương ứng đâu, cậu ah, mình đã chạy thử nó chi ra 1 bảng đầu tiên thôi, còn các bảng khác ko có, mình cũng chỉ cần được ở mức độ chuyển thành các bảng tương ứng thôi (còn tạo quan hệ mình sẽ tạo bằng DataRelation như cậu nói), mình đã check lại rồi, vẫn chỉ ra 1 bảng thôi cậu ah, cậu thử xem lại xem, xem có cách nào chuyển thành các bảng tương ứng trong cùng 1 dataset ko?
    Thanks in advance.

  3. #23
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    được rồi cậu ah, mình vừa sửa lại, thành các bảng riêng rẽ nhau oke. Thanks nhé, bây giờ mình tạo lại quan hệ cho các bảng.

  4. #24
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn cần phải thêm dấu chấm phẩy ỡ cuối mỗi câu lệnh cũa bạn thì mới được.

    Mã:
    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;using System.Data; namespace test2{class Program{static void Main(string[] args){SqlConnection cnn = new SqlConnection();cnn.ConnectionString = "server=.\\SQLExpress;database=CIM; Trusted_Connection=true";cnn.Open();string sql1 = @"SELECT * FROM dbo.Terminal;";string sql2= @"SELECT * FROM dbo.ACLineSegment;";string sql3= @"SELECT * FROM dbo.BusBar;";string sql4= @"SELECT * FROM dbo.CircuitBreaker;";string sql5= @"Select * From dbo.ConductingEquipment;";string sql6= @"Select * From dbo.ConnectivityNode;";string sql7= @"Select * From dbo.Disconnector;";string sql8 = @"Select * From dbo.EnergyCOnsumer;";string sql9 =@"Select * From dbo.GEN;";string sql10 = @"Select * From dbo.PowerSystemResource;";string sql11 =@"Select * From dbo.SUBstation";string sql = sql1 + sql2 + sql3 + sql4 + sql5 + sql6 + sql7 + sql8 + sql9 + sql10 + sql11;  SqlDataAdapter adapter = new SqlDataAdapter();adapter.SelectCommand = new SqlCommand(sql, cnn);  DataSet ds = new DataSet();adapter.Fill(ds);ds.Tables[0].TableName = "Terminal";ds.Tables[1].TableName = "ACLineSegment";ds.Tables[2].TableName = "BusBar";ds.Tables[3].TableName = "CircuitBreaker";ds.Tables[4].TableName = "ConductingEquipment";ds.Tables[5].TableName = "ConnectivityNode";ds.Tables[6].TableName = "Disconnector";ds.Tables[7].TableName = "EnergyConsumer";ds.Tables[8].TableName = "Gen";ds.Tables[9].TableName = "PowerSystemResource";ds.Tables[10].TableName = "SubStation"; foreach (DataRow row in ds.Tables[0].Rows){foreach (DataColumn col in ds.Tables[0].Columns)Console.WriteLine(row[col]);}// for (int row = 0; row < ds.Tables[0].Rows.Count; row++)// for (int col = 0; col < ds.Tables[0].Columns.Count; col++)// Console.WriteLine("{0}{1}",ds.Tables[0].Columns[col], ds.Tables[0].Rows[row][col]); cnn.Close(); }}}

  5. #25
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn FlyingFox đã trả lời,
    mình đã chỉnh sửa như góp ý của bạn, chạy ko bị lỗi nhưng kết quả ra ko như mình mong muốn.
    Mục tiêu của mình là trong 1 database có bao nhiêu bảng (có quan hệ với nhau) và mình muốn chuyển tất cả các bảng đó thành các bảng tương ứng trong cùng 1 dataset (các quan hệ ràng buộc khóa ngoài vẫn được bảo toàn), còn với đoạn mã trên nó chỉ cho mình 1 bảng trong dataset và bảng đó thì là tổng hợp của các bảng trong database.
    Do đó có ai có giải pháp cho vấn đề của mình không?
    Thanks in advance.

  6. #26
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    pro quá, nhìn hoa cả mắt

  7. #27
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    hiểu hết chổ này củng hết tuần quá , vừa đọc vừa hỏi mà còn không hiểu , đúng là botay

  8. #28
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Thanks pác nhìu nhìu nha. đọc cũng thấy hiểu hiểu[IMG]images/smilies/kiss.gif[/IMG][IMG]images/smilies/online.gif[/IMG][IMG]images/smilies/online.gif[/IMG][IMG]images/smilies/online.gif[/IMG]

  9. #29
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bài viết rất hay và chi tiết. Cám ơn bạn rất nhiều........................................... .

  10. #30
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cảm ơn bạn đã viết bài rất cụ thể và dễ hiểu.
    Cho mình hỏi một vấn đề như thế này. Mình kết nối được đến với csdl rồi.
    Mình muốn lấy tất cả các bảng một cách tự động
    Mã:
    dataAdapter.Fill(dataTable);
    foreach (DataRow dataRow in dataTable.Rows) {
    	// Use the table name if an alias is not found
    	if (dataRow["ProgrammaticAlias"] == DBNull.Value) {
    		TablesCheckedListBox.Items.Add((string)dataRow["TABLE_NAME"]);
    	} else {
    		TablesCheckedListBox.Items.Add((string)dataRow["ProgrammaticAlias"]);
    	}
    }
    Thế nhưng đoạn code
    Mã:
    dataAdapter.Fill(dataTable);
    lại bị báo lỗi
    Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AI" in the equal to operation.
    Cảm ơn bạn nhiều

 

 
Trang 3 của 4 Đầu tiênĐầu tiên 1234 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •