使用if语句vb.net的SQL参数

时间:2016-07-05 08:26:05

标签: sql vb.net tsql

所以我正在开发一个基于账户存款和取款资金的应用程序(储蓄账户和支票账户)。为此,我创建了一个数据库,其中的值将使用SQL参数记录。

但现在我陷入其中一个参数.Add("@descriptionTransaction", SqlDbType.Char).Value = cmdDeposit.Text,因为如果我点击“存款”按钮,它将被记录在DESCRIPTIONTransaction列中作为存款。另一方面,如果我对提款按钮执行相同操作,当然它不起作用,因为未声明cmdWithdrawal.Text。我应该创建一个if语句,每当用户单击cmdDeposit时它会写入Deposit或cmdWithdrawal它将写入Withdrawal。

这是我实际用于sql参数的代码:

    With SqlCmd.Parameters
         .Add("@tpAccount", SqlDbType.Char).Value = cbTpAccount.SelectedItem
         .Add("@dateTransaction", SqlDbType.DateTime).Value = txtDate.Text
         .Add("@descriptionTransaction", SqlDbType.Char).Value = cmdDeposit.Text
         .Add("@amountTransaction", SqlDbType.Char).Value = txtWithdrawal.Text
         .Add("@balanceTransaction", SqlDbType.Money).Value = txtBalance.Text
    End With

有什么方法可以使这个If语句有效吗?

2 个答案:

答案 0 :(得分:1)

With SqlCmd.Parameters
     .Add("@tpAccount", SqlDbType.Char).Value = cbTipoConta.SelectedItem
     .Add("@dateTransaction", SqlDbType.DateTime).Value = txtDate.Text
     .Add("@descriptionTransaction", SqlDbType.Char).Value = if(cmdDepositar.Text="", cmdWithdrawal.Text, cmdDepositar.Text)
     .Add("@amountTransaction", SqlDbType.Char).Value = txtDeposito.Text
     .Add("@balanceTransaction", SqlDbType.Money).Value = txtBalance.Text
End With

这是你在找什么?

答案 1 :(得分:0)

With SqlCmd.Parameters
     .Add("@tpAccount", SqlDbType.Char).Value = cbTipoConta.SelectedItem
     .Add("@dateTransaction", SqlDbType.DateTime).Value = txtDate.Text
     .Add("@descriptionTransaction", SqlDbType.Char).Value = iif(String.IsNullOrEmpty(cmdDepositar.Text), "", cmdDepositar.Text)
     .Add("@amountTransaction", SqlDbType.Char).Value = txtDeposito.Text
     .Add("@balanceTransaction", SqlDbType.Money).Value = txtBalance.Text
End With

试试这个