2017-07-06 65 views
0

好日子我寫了一個函數,需要限制可以添加到數據庫的員工數量。程序化使用VB.net限制mysql數據庫的行數

<WebMethod()> 
Public Function EmployeeSubToken() 
    Dim cmd As New SqlCommand("Select vchSubscriptionType FROM BillingInfo", con) 
    Dim subtype = "vchSubscriptionType" 
    Dim Token 


    Select Case subtype 
     Case subtype = "Bronze" 
      Token = 1 
     Case subtype = "Silver" 
      Token = 2 
     Case subtype = "Gold" 
      Token = 3 
     Case subtype = "Platinum" 
      Token = 4 
    End Select 

    Dim cmd2 

    Select Case Token 
     Case Token = 1 
      cmd2 = New SqlCommand("SELECT * FROM Subscribers.dtEmployment Where ROWNUM <= 5 LIMIT 5") 
     Case Token = 2 
      cmd2 = New SqlCommand("SELECT * FROM Subscribers.dtEmployment Where ROWNUM <= 5 LIMIT 10") 
     Case Token = 3 
      cmd2 = New SqlCommand("SELECT * FROM Subscribers.dtEmployment Where ROWNUM <= 5 LIMIT 25") 
     Case Token = 4 
      cmd2 = New SqlCommand("SELECT * FROM Subscribers.dtEmployment") 
    End Select 

End Function 

有沒有人知道如果這是正確的做法呢?如果不是這樣我會怎麼做?

回答

0

,有將查詢數據庫,並返回行的計數功能,SELECT COUNT(*) FROM dtEmployment ;就用一個簡單的if,

if(dtEmploymentCount < MydesiredCount) then 
'Do My Insert 

else 
'Return your message (Maximum amount of entries reached) 
end If 
+0

謝謝,這實際上看起來像一個更有效的方式來做到這一點基本上,而不是作爲一個單獨的功能將它結合到我做實際插入時? –

+0

你將有一個函數來查找表中的行數。該變量將是'dtEmploymentCount'。 MydesiredCount將是表中允許的行數。你將在if語句中插入你的內容。 – Kevin

+0

根據乾淨編碼創建一個插入方法,並從if語句中調用它。理想情況下,每種方法或功能應該只做一件事。它有助於使代碼更具可讀性,更易於維護 – Kevin

0

也許TOP(5)您正在尋找。

是否有任何命令行返回,即它是否有關係哪5個返回?

如果要限制插入
+0

我其實不清楚的我應該設置什麼where子句,因爲它無關緊要什麼是返回,只要我可以限制可以添加的行數量 –