วันพุธที่ 16 ตุลาคม พ.ศ. 2556

ASP.NET การกด enter แทนคลิ๊ก Update ใน Gridview

ต้องการกดปุ่ม Enter แทนการ Click Update ใน Gridview
        ในขณะที่แก้ไขข้อมูล เพื่อความสะดวก

ให้เพิ่ม code ในส่วน RowDataBound ของ Gridview


    Protected Sub GridView2_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView2.RowDataBound
        If ((e.Row.RowState = DataControlRowState.Edit) _
             OrElse (e.Row.RowState _
             = (DataControlRowState.Edit Or DataControlRowState.Alternate))) Then
            e.Row.Cells(0).Width = Unit.Pixel(35)
            e.Row.Attributes.Add("onkeypress", "javascript:if (event.keyCode == 13) { __doPostBack('" + GridView2.UniqueID + "','Update$" + e.Row.RowIndex.ToString + "'); return false; }")
        End If
    End Sub




วันพฤหัสบดีที่ 10 ตุลาคม พ.ศ. 2556

SQL Server : การใช้ Count(distinct field) นับจำนวนที่ไม่ซ๊ำกัน

การยืมหนังสือ

ตาราง TableA  เก็บรหัสผู้ยืม รหัสหนังสือ และเวลายืม
TableA(MemberID, BookNo ,DateBorrow)

ข้อมูล

MemberID  BookNo  DateBrrow                            
01         t-001 2013-01-01
01         t-002 2013-01-01
02         s-005 2013-01-01
02         k-004 2013-01-01
01         t-001 2013-01-02
01          k-008 2013-01-02
02         s-005    2013-01-02
                               ..............
                   
ต้องการผู้ที่ยืม 3 เล่มขึ้นไป

จะเห็นว่า  01 ยืมหนังสือ 4 รายการแต่ซีำ 1 เล่ม สรุปยืม 3 เล่ม
               02 ยืมหนังสือ 3 รายการแต่ซีำ 1 เล่ม สรุปยืม 2 เล่ม  

เขียนคำสั่งแบบนี้

Select  count(distinct BookNo) as BorrowCount, MemberID
From  TableA
Group by MemberID
Having count(distinct BookNo) >=3

ผลลัพท์

                     BorrowCount    MemberID
                           3                      01


วันจันทร์ที่ 7 ตุลาคม พ.ศ. 2556

แก้ไขข้อผิดพลาด Crystal Report

แก้ไขข้อผิดพลาด Crystal Report

Failed to retrieve data from the database. Details: [Database Vendor Code: 468 ] Failed to retrieve data from the database. Error in File crwListNameSecond {17C4840A-A02A-4C3E-962E-C4CF6F684A1C}.rpt: Failed to retrieve data from the database. Details: [Database Vendor Code: 468 








ไปแก้ไข Collation ของ Table ที่ link กันใน Report ให้เหมือนกัน ก็ใช้งานได้แล้ว



 เป็นปัญหาที่น่าเวียนหัว วิธีแก้ไข ตอนสร้าง DB ให้กำหนด Collaton เสียก่อนมันจะเป็น Default ของ DB
เวลาสร้าง Table ก็ให้ใช้ค่า Default ที่ได้ั้ตั้งไว้ Post ก่อน ๆ ก็ได้เขียนไว้