1

ボタンをクリックすると、データベースに加えた変更が保存されます。これはボタンのコードです。

DataRow drow = sql.ds.Tables["Stagiaire"].NewRow();
        Boolean allowAdd = false;
        if (nom.Text != "" && prenom.Text != "")
            allowAdd = true;
        if (allowAdd)
        {
            drow[1] = imgData;
            drow[2] = nom.Text.ToUpper();
            drow[3] = prenom.Text;
            drow[4] = sexe.SelectedItem.ToString();
            drow[5] = naiss.Text;
            drow[6] = email.Text;
            drow[7] = tele.Text;
            drow[8] = adresse.Text;
            drow[9] = niveau.Text;
            drow[10] = filiere.Text;
            drow[11] = stage.SelectedItem.ToString();
            drow[12] = service.SelectedItem.ToString();
            drow[13] = encadrant.SelectedItem.ToString();
            drow[14] = etablissement.SelectedItem.ToString();
            sql.ds.Tables["Stagiaire"].Rows.Add(drow);
            SqlCommandBuilder cmb = new SqlCommandBuilder(daStagiaire);
            daStagiaire.Update(sql.ds, "Stagiaire");
            XtraMessageBox.Show("Bien Ajouter !");
        }

私の質問は次のとおりです。テキストコントローラーが空の場合、データベースにNULL値を挿入するにはどうすればよいですか

4

3 に答える 3

3

データベースに渡しDBNull.Valueます。

drow[11] = string.IsNullOrWhitespace(stage.SelectedItem)
           ? (object) stage.SelectedItem.ToString() 
           : DBNull.Value;
于 2012-07-28T16:15:29.633 に答える
1

フィールドごとに、文字列に値が含まれているかどうかを確認する必要があります。値がある場合はその値を渡し、値がない場合はNULLを渡します。

drow[1] = string.IsNullOrWhitespace(imgData)
           ? (object) imgData : DBNull.Value;

drow[2] = string.IsNullOrWhitespace(nom.Text)
           ? (object) nom.Text.ToUpper : DBNull.Value;

...残りのアイテムに対して同じロジックを実行します。

ここでは、1行のIFTHENステートメントを使用しています。詳細については、 One-liner ifステートメント、このif-elseステートメントを変換する方法を参照してください。

于 2012-07-28T16:23:43.673 に答える
0

あなたは使うことができますdbnull.value

ただし、この null 値をフェッチするときは、null の適切なチェックを追加してください。

于 2012-07-29T13:45:42.037 に答える