我有一个有助于从数据库中获取数据的函数。这个函数允许我定义表名,必填字段作为字符串,where条件,order by字段和可选表连接。该功能看起来像这样。
Public Function DBSELECT(Byval table As String, Byval fields As String, Byval where as String, Byval orderBy As String, Optional Byval join As String = Nothing)
但是现在我需要在join参数之前添加一个GroupBy参数,但是如果我只是添加该参数,它将破坏已经使用此函数的代码。有没有办法在不破坏现有构建的情况下修改此方法。
答案 0 :(得分:3)
我看到两个选项:
添加添加了参数的新method overload,并将现有的一个调用设置为&
提供的默认值。
答案 1 :(得分:0)
您可以使用Optional参数,但必须在join参数之后。
Public Function DBSELECT(Byval table As String,
Byval fields As String, Byval where as String,
Byval orderBy As String, Byval join As String,
Optional Byval groupBy as String=Nothing)
答案 2 :(得分:0)
将新参数作为Optional
参数添加到末尾,并带有默认值。
示例:
Imports System
Public Module Module1
Public Sub Main()
Test()
Test("Goodbye")
End Sub
Public Sub Test(Optional ByVal opt1 As String = "Hello")
Console.WriteLine(opt1)
End Sub
End Module
结果:
Hello
Goodbye
在您的方法中,您将检查GroupBy参数不是默认值,因此您将知道将其应用于SQL语句。