2017-04-27 17 views
0

私の製品の購入者の情報が入っているデータベースがありますが、データベースにプログラムから提供された値をnullにしたい場合は、これどうやってするの?C#からMySqlデータベースに変数を挿入できません

コード:

私は、製品のバイヤーのに関する情報を持つデータベースを持っているが、私はどのように行うことができ、それがnullの場合、それは、データベースへのプログラムによって提供される値を送りたいですこの?

コード:

string comando = "SELECT COUNT(*) FROM tbl_usuario WHERE [email protected] AND [email protected] AND tipo=1"; 
var connection = new MySqlConnection(connString); 
var cmd = new MySqlCommand(comando, connection); 
cmd.Parameters.AddWithValue("@Usuario", usuario); 
cmd.Parameters.AddWithValue("@Senha", senha); 
var command = connection.CreateCommand(); 
connection.Open(); 
MySqlDataReader leitor = cmd.ExecuteReader(); 
while (leitor.Read()) 
{ 
    hd_id = leitor["id"].ToString(); 
} 
if (hd_id == null) 
{ 
    //Code i need here 
} 
int retorno = Convert.ToInt32(cmd.ExecuteScalar()); 
connection.Close(); 
+0

パラメータをnullに設定できるようにしたい場合は、 'AddWithValue'を使用しないでください。パラメータを作成し、その際にデータ型を指定するには 'Add'を使います。実際の値がない場合、そのパラメータの 'Value'プロパティを' DBNull.value'に設定することができます。 – jmcilhinney

答えて

0

あり、この問題の翻訳で失われたかなりのですが、私は私が読んでいると思うから、私はあなたがしたいと思いますIDを検索するデータベースから検索します。しかし、クエリはそれを含まないcountコマンドを実行しているだけです。 (なし記録が一致した場合はnull)あなただけ、あなたがリーダーを使用する必要はありません1つの値を返すされているので

string comando = "SELECT COUNT(*) FROM tbl_usuario WHERE [email protected] AND [email protected] AND tipo=1"; 

は実際に

string comando = "SELECT id FROM tbl_usuario WHERE [email protected] AND [email protected] AND tipo=1"; 

する必要があります。返品を直接読んでヌルを確認することができます

var sqlReturn = cmd.ExecuteScalar(); 
if (sqlReturn == null) { /* Code i need here */ } 
else { hd_id = (int)sqlReturn; } 

質問が分からない場合は、私に知らせるために自由に感じてください、私たちがあなたを修理できるかどうかがわかります。

+0

私はGoogle翻訳者で大きな混乱を招いたが、私が望んでいたものを正確に見つけ出すことができた。ありがとう。 –

+0

入力したログインIDとパスワードが正しいかどうかを確認するためにcountを使用していましたが、このselect idも同じ方法でチェックされますか? –

+0

ユーザ名とパスワードが一致しない場合、値は返されません。 if(sqlReturn == null){/ *ここにコードが必要です* /} ' –

0

C#

cmd.Parameters.AddWithValue("@Usuario", String.IsNullOrEmpty(usuario) ? DBNull.Value : usuario); 
cmd.Parameters.AddWithValue("@Senha", String.IsNullOrEmpty(senha) ? DBNull.Value : senha); 
+0

私はあなたが私が望んでいたことを非常によく理解しているとは思わない。 私は主キー(user)をとり、データベース内の人のidの値をhd_id変数に戻したいと思います。 –

+0

メイト、あなたはあなたが尋ねたことを理解していませんでした。 「私は自分の製品のバイヤーの情報を含むデータベースを持っていますが、プログラムが提供する価値をデータベースに送りたいと思います。もしそれがヌルなら、どうすればいいのですか? – DesertFox

+0

私はあなたにポルトガル語で尋ねることをお勧めしますが、これは正しい場所ではありません。あなたの質問を確認してください。 – DesertFox

関連する問題