'删除学生表记录
Public Function del_student(ByVal tstCard As Model.CardModel) As Integer
Dim strSQL As String = "delete * from Student_info where cardNO=@cardno"
Dim params() As SqlParameter = {New SqlParameter("@cardno", tstCard.card_no)}
Dim helper As New SqlHelper
Dim res = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)
Return res
End Function
'删除卡记录
Public Function del_card(ByVal tstCard As Model.CardModel) As Integer
Dim strSQL As String = "delete * from Card_info where cardNO=@cardno"
Dim params() As SqlParameter = {New SqlParameter("@cardno", tstCard.card_no)}
Dim helper As New SqlHelper
Dim res = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)
Return res
End Function
请问可以合并两个函数吗,这两个除了sql语句不同剩下全都一样,不知道 strSQL 可不可以包含两个sql语句?
------解决方案--------------------
当然可以啦,用“;”隔开两个SQL语句。不过这样的话对于异常的捕获就不方便了。
------解决方案--------------------
你先提取SQL脚本,看看能否封装在一个存储过程中,然后通过参数处理
------解决方案--------------------
合并为一个函数,新增输入参数delmode用于区分删除的内容.
然后在函数中用if分支判断delmode的内容,执行不同的程序.
Public Function del_data(delmode as String, ByVal tstCard As Model.CardModel) As integer
if delmode="student" then
Dim strSQL As String = "delete * from Student_info where cardNO=@cardno"
Dim params() As SqlParameter = {New SqlParameter("@cardno", tstCard.card_no)}
Dim helper As New SqlHelper
Dim res = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)
Return res
end if
if delmode="card" then
Dim strSQL As String = "delete * from Card_info where cardNO=@cardno"
Dim params() As SqlParameter = {New SqlParameter("@cardno", tstCard.card_no)}
Dim helper As New SqlHelper
Dim res = helper.ExecuteNoQuery(strSQL, CommandType.Text, params)
Return res
end if
End Function
------解决方案--------------------
可以,不要分号(用回车换行)都可以