私は、特定のデータベース内の値を入れるために使用するINSERT文に続くXLSシートからセル値を表し、それは次のようになりますリスト、作成されました:以下の構文からC#辞書要素にどのようにアクセスできますか?
List<FieldValues> fieldValues = new List<FieldValues>()
{
new FieldValues(tableFields[0]) {
dictionary = new Dictionary<int, string>()
{
{0, "" },
{1, "" }
}
},
new FieldValues(tableFields[1]) {
dictionary = new Dictionary<int, string>()
{
{0, "x" },
{1, "x" }
}
},
new FieldValues(tableFields[2]) {
dictionary = new Dictionary<int, string>()
{
{0, "x" },
{1, "x" }
}
},
new FieldValues(tableFields[3]) {
dictionary = new Dictionary<int, string>()
{
{0, "Car" },
{1, "Travel" }
}
},
};
string createQuery2 = createQuery + "\n INSERT INTO `poi_specs_mgu_ece_1.6` (";
for (var i = 0; i < tableFields.Count; i++)
{
createQuery2 += "\n\t" + tableFields[i].GetFieldDeclaration() + (i == tableFields.Count - 1 ? string.Empty : ",");
}
createQuery2 += ")\n VALUES (";
for (var i = 0; i < fieldValues.Count; i++)
{
createQuery2 += "\n\t" + fieldValues[i].dictionary; //+ (i == fieldValues.Count - 1 ? string.Empty : ",");
}
createQuery2 += " \n);";
Iをそれは(内部値)を返すcreateQuery2を作成する次
System.Collections.Generic.Dictionary
2[System.Int32,System.String] System.Collections.Generic.Dictionary
2 [可能System.Int32、可能System.String] System.Collections.Generic.Dictionary2[System.Int32,System.String] System.Collections.Generic.Dictionary
2 [システム。 Int32、System.Strin g]
の代わりに値を使用します。 誰かが問題の可視化を助けることができますか?なぜ辞書要素を読むことができないのですか?コードのこの部分で
FieldValuesプロパティ[i]を.dictionaryが辞書であなたがFieldValuesプロパティを使用している場合、あなたは、それだけのToStringメソッドになり[i]が.dictionary [0]あなたはvaueになるだろう。しかし、あなたのコードはSQLインジェクションのために開いているだけで、値を連結するのではなくパラメータを使用しています! –
辞書の2つのキーを表現するものを説明できますか?彼らはフィールドの名前と価値ですか? – Steve