リスト ビューから選択する必要があり、列 1 (または ii) に基づいて SQL Server データベースからアイテムを選択し、それをローカル データテーブルに書き直してテキスト ファイルに処理する作業を行っています。これが私がこれまでに持っているものです:
var con = new SqlCeConnection(ConfigurationManager.ConnectionStrings[Connection.ConnectionStrings.CurrentConnection].ConnectionString);
foreach (ListViewItem item in LSTAsset.SelectedItems)
{
for (int ii = 0; ii < LSTAsset.SelectedItems.Count; ii++)
{
string select = LSTAsset.SelectedItems[ii].Text;
if (con != null && con.State == ConnectionState.Closed)
{
con.Open();
}
var cmd = new SqlCeCommand("Select assetname, serial from asset where assetname like '%" + select + "%'", con);
SqlCeDataAdapter dataadapt = new SqlCeDataAdapter(cmd);
//DataTable datatable = new DataTable();
if (ii == 0)
{
dataadapt.Fill(steve.iTable);
}
if (ii < 0)
{
dataadapt.Update(steve.iTable);
}
}
}
今私の問題は、複数のアイテムが選択されている場合、選択されたアイテムが2倍になるようです。2 つのアイテムを選択したとします。コードが 4 回実行され、データテーブルに 4 行が表示されます。なぜコードを2倍にするのですか?テーブルに必要な行の2倍を書き込むため、後で出力ファイルが台無しになります。