Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Dữ liệu sắp xếp lộn xộn khi chèn nhiều dữ liệu cùng 1 lúc vào sql

  1. #1
    Ngày gia nhập
    05 2010
    Bài viết
    344

    Mặc định Dữ liệu sắp xếp lộn xộn khi chèn nhiều dữ liệu cùng 1 lúc vào sql

    Hiện h em đang làm modun tạo mã thẻ gồm serial và code.
    Vấn đề tạo thì không có vấn đề gì nhưng mà khi tạo khoảng 50 thẻ cùng 1 lúc thì thứ tự bị đảo lộn. SQL không chèn các cột dữ liệu mới vào cuối bảng mà chèn rất lộn xộn ko đúng thứ tự. Em đã cho sleep 50 roài mà vẫn ko có tiến triển
    Ví dụ như ảnh phía dưới


    Có bác nào biết cách khắc phục không chỉ dùm em với
    Attached Thumbnails Attached Thumbnails 1.jpg   2.jpg  

  2. #2
    Ngày gia nhập
    08 2009
    Bài viết
    98

    việc chèn DL vào theo thứ tự nào là do kiến trúc của SQL và việc bạn đặt Primary key ở columm nào. Cho dù thứ tụ bị đảo lộn bạn vẫn có thể select ra theo trật tự được.

  3. #3
    Ngày gia nhập
    06 2011
    Bài viết
    93

    Mà code bạn viết như thế nào ha?

  4. #4
    Ngày gia nhập
    05 2010
    Bài viết
    344

    Visual C# Code:
    1. sqlcom.CommandText = "SELECT * FROM the";
    2.                         sqlcom.CommandType = CommandType.Text;
    3.                         objds = new DataSet();
    4.                         objds = library.execommand(sqlcom);
    5.                         objds.Tables[0].TableName = "the";
    6.                         DataTable objtable = new DataTable();
    7.                         objtable = objds.Tables["the"];
    8.                         string strmax = objtable.Rows.Count.ToString();
    9.                         double numberstart = Convert.ToDouble(strmax);
    10.                         double numberend = numberstart + Convert.ToDouble(txtboxnumber.Text) -1;
    11.                         for (double i = numberstart; i <= numberend;i++ )
    12.                         {
    13.                             Thread.Sleep(50);
    14.                             SqlCommand sqlcom2 = new SqlCommand();
    15.                             sqlcom2.CommandText = "create_card";
    16.                             sqlcom2.CommandType = CommandType.StoredProcedure;
    17.                             sqlcom2.Parameters.Add("@stt", SqlDbType.NVarChar, 10).Value = i;
    18.                             sqlcom2.Parameters.Add("@serial", SqlDbType.NVarChar, 12).Value = library.create_serial(i);
    19.                             int number = library.execommand(sqlcom2, "insert");
    20.                         }
    khóa chính là cột "stt" nó có thuộc tính identity.
    Mình cần sau khi tạo mã thẻ thì ghi ra 1 file excel để biết các thẻ mình đã tạo, câu lẹnh để select các thẻ vừa tạo là "SELECT * FROM the WHERE stt BETWEEN "+"'"+numberstart+"'" +" AND '"+numberend+"'" "

  5. #5
    Ngày gia nhập
    06 2009
    Nơi ở
    Cái hộp
    Bài viết
    1,255

    Ko cần quan tâm đến table hiển thị thế nào, lúc cần thì sắp xếp lại thôi. Stt là khóa thì ko cần set cho nó, nó có thể tự động tăng cũng được.
    Men talk of killing time, while time quietly kills them.
    Time is what we want most, but what we use worst.
    ------------------------------
    YinYang's Programming Blog

  6. #6
    Ngày gia nhập
    06 2011
    Bài viết
    93

    Mặc định Dữ liệu sắp xếp lộn xộn khi chèn nhiều dữ liệu cùng 1 lúc vào sql

    Bạn không cần tạo parameter @stt trong stored procedure create_card, mà đổi nó thành biến và viểt trong stored procedure đó đại khái như sau:
    SQL Code:
    1. CREATE PROCEDURE create_card
    2.           @serial nvarchar(12)
    3. AS BEGIN
    4. DECLARE @stt INT
    5. SELECT @stt = MAX(stt) + 1 FROM the
    6. -- code cũ
    7. END

  7. #7
    Ngày gia nhập
    05 2010
    Bài viết
    344

    Trích dẫn Nguyên bản được gửi bởi Yin Yang Xem bài viết
    Ko cần quan tâm đến table hiển thị thế nào, lúc cần thì sắp xếp lại thôi. Stt là khóa thì ko cần set cho nó, nó có thể tự động tăng cũng được.
    Cách của anh khắc phục được rùi :d. Thanks anh nhiều
    Đã được chỉnh sửa lần cuối bởi tuandoi1 : 26-07-2011 lúc 02:36 PM.

Các đề tài tương tự

  1. tư vấn cách học nhiều ngôn ngữ lập trình cùng một lúc
    Gửi bởi kimcy1992 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 11-01-2013, 10:28 AM
  2. Focus chuột vào nhiều cửa sổ ( dạng viết auto game nhiều cửa sổ cùng lúc )
    Gửi bởi hoanghiep9x trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 4
    Bài viết cuối: 13-07-2012, 10:28 PM
  3. ADO.NET Thực thi nhiều command cùng 1 lúc từ nhiều luồng ?
    Gửi bởi tuandoi1 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 26-01-2012, 11:20 PM
  4. ADO.NET Bị lỗi thực hiện câu lệnh update khi nhiều luồng cùng chạy câu lệnh cùng một lúc
    Gửi bởi tuandoi1 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 20-07-2011, 06:51 PM
  5. làm nhiều button cùng 1 lúc ?
    Gửi bởi himylove trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 08-12-2008, 10:06 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn