2016-07-05 12 views
0

私は口座からの入金と出金に基づいたアプリケーションを開発しています。これを行うために、SQLパラメータで値が記録されるデータベースを作成しました。if文vb.netを使用したSQLパラメータ

しかし、私はパラメータ.Add("@descriptionTransaction", SqlDbType.Char).Value = cmdDeposit.Textの1つにこだわりました。なぜなら、私がデポジットボタンをクリックすると、デポジットとしてdescriptionTransaction列に記録されるからです。一方、Withdrawalボタンについても同じことを行うと、cmdWithdrawal.Textが宣言されていないため、機能しません。ユーザーがcmdDepositをクリックするたびにifステートメントを作成して、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文を機能させる方法はありますか?

答えて

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 

これはあなたが探しているものですか?

+0

はいを​​試してみてください。それはそのようなものです。感謝の相手 –

+0

実際にはこれは動作していません、これは、常に "退出"の代わりに "預金"を返します –

+0

@レプチャーン:答えは正しかったですが、コードを減らすためにvb.netのIIF関数を使用してください。 –

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 

この

+0

私はその方法が好きですありがとうございます –

+0

条件演算子の有効なVB .NET構文ではありません –

+0

@AlexB:答えを編集しました –

関連する問題