あなたのほとんどの助けを借りて、私はこの2つを作りましたQUERY
. 写真を投稿したので、表示しgreen squares
たい空の値とred squares
表示したくない値があることがわかります。変数vyberradek
は、DB にある「サブキー」の値を挿入しますがINT
、それを渡しますstring
。
簡単に説明します。すべてまたは一部を表示できるようになりました。正しいレコードを表示する方法を教えてください。
これquery
は最初にこれを行います:
string sQuery = string.Format("SELECT zajsluz.akce,zajsluz.text,klisluz.pocet,klisluz.subkey,zajsluz.ID FROM zajsluz LEFT JOIN klisluz ON zajsluz.ID=klisluz.IDzajsluz WHERE zajsluz.akce= '{0}' GROUP BY klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);
2番目の機能は次のquery
とおりです。
string sQuery = string.Format("SELECT zajsluz.akce,zajsluz.text,klisluz.pocet,klisluz.subkey,zajsluz.ID FROM zajsluz LEFT JOIN klisluz ON zajsluz.ID=klisluz.IDzajsluz WHERE zajsluz.akce= '{0}' and klisluz.subkey ='" + vyberradek + "' GROUP BY klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);
ご覧のとおり、空のものも表示したいと思います。ここにあるチェックボックスをチェックするコードも必要になると思います:
for (int i = 0; i < dtg_ksluzby.Rows.Count; i++)
{
var row = dtg_ksluzby.Rows[i];
int id = (int)row.Cells["ID"].Value;
using (var novyprikaz3 = new SqlCommand("SELECT * from klisluz WHERE subkey='" + vyberradek + "'AND IDzajsluz=" + id, spojeni))
{
spojeni.Open();
SqlDataReader precti3 = novyprikaz3.ExecuteReader();
if (precti3.HasRows)
{
row.Cells[5].Value = true;
}
spojeni.Close();
}
}
query
チェックされていない値(テーブルklisluzにはありません)とチェックされた値を選択する方法を教えてください。
誰も返信がないので、簡単な例を 1 つ挙げましょう。クライアントを作成するときに、10 個のチェックボックスから例 3 をチェックします。したがって、3 つの行 (およびテーブル klisluz に追加する行) が選択されます。そして、私はこれらの2つを持っていますqueries
。First query
他のクライアントからチェックされたチェックボックスを表示しますが、このクライアントのチェックされていないチェックボックスも表示します。データベースにあるものをすべて表示するだけなので、他のクライアントのチェックされたものを含む行が表示されます(ただし、これと他のクライアントと同じものだけで、重複を作成しません)。2 番目は、このクライアントのみがチェックされていることを示していますが、彼が選択していないものはありません。したがって、このクライアントの編集を行うとき、彼がチェックしたものと残りの7つを表示したいと思います(彼がチェックしなかった7つの可能性があるので、それらをチェックできます)。これで、チェックしたもののみ (チェックされていないものを除く)、または他のクライアントのチェックを含むすべて (このクライアントでも同じ) を表示できます。私の弱い英語で申し訳ありません。
PSチェックとは、チェックcheckbox
(行の選択)を意味します。基本的には、クライアントにサービスを追加するプログラムです。
興味を持っていただき、また読んでいただきありがとうございます。私はこの問題で2日間立ち往生しています:/
kwwallpe の画像: 「Nic」はどの衣装でも選択されていないため、表示されていることがわかります。
私の質問をより明確にするために、これらの列のいくつかを別のテーブルから取得します(SQLクエリでわかるように)。
kwwallpe のコードは次のようになります。
string sQuery = string.Format("SELECT zajsluz.akce,zajsluz.text,klisluz.pocet,klisluz.subkey,zajsluz.ID FROM zajsluz LEFT JOIN klisluz ON zajsluz.ID=klisluz.IDzajsluz WHERE zajsluz.akce= '{0}' and ISNULL(klisluz.subkey, '" + vyberradek + "') = '" + vyberradek + "' GROUP BY klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);
このコードは、それらの 2 に非常に近いと思います。テーブル klisluz にはないので、帽子 "Nic" が表示されていることがわかります。