だから私はあなたがそうすることができるさまざまなSql支援クラスを使用してC#で空のDataTableを埋めようとしています。「列名Aが無効です」というエラーが発生しました... DataTableが空であるため、これは意味がありません。列から何も抽出せずに入力しようとしています.
以下で (SQL データベースから) プルしている最初のデータには、cmd2 に見られるように、「A」を含む SKUStockCode セルがあります。DataTable は、以下では containsAllRelatedProductData と呼ばれます。ただし、この「A」を新しい DataTable の列として書き込もうとしているのではなく、SQL データベースでデータを取得しようとしている行の SKUStockCode であるため、「A」を参照しているだけです。
foreach(char ch in containsRelatedProductsStringOnly.Rows[0]["SKURelatedProducts"].ToString())
{
if(ch != ' ')
{
stockCode = stockCode + ch;
}
else
{
SqlCommand cmd2 = new SqlCommand("SELECT SKUName FROM COM_SKU WHERE SKUStockCode = " + stockCode, con);
SqlDataAdapter adapter2 = new SqlDataAdapter(cmd2);
adapter2.Fill(containsAllRelatedProductData); //Error
stockCode = "";
}
}
DataTable に新しい列を作成する際にいくつかの名前付け制限がない限り (私が知っていることはありません)、エラーが無効な列名になる理由がわかりません。ここでも、この空の DataTable (containsAllRelatedProductData と呼ばれる) を FILL するとエラーが発生し、そこから何も抽出されません。無効な列名エラーが発生する理由を知っている人はいますか?