我查看了几篇文章,但似乎没有回答我所面临的问题。
我想最简单的解释方法是分解我当前的代码。
for (int i = 0; i < nodelist.Count; i++)
{
XmlNode node = nodelist[i];
XmlAttributeCollection attribute = node.Attributes;
count = 0;
cmdA.CommandText = "";
cmdsqlvalues = "";
cmdtgvalues = "";
for (int n = 0; n < attribute.Count; n++)
{
string tgfield = namefieldprojarray[i, n];
int index = -1;
index = Array.IndexOf(tgfieldprojarray, tgfield);
if (index != -1)
{
cmdsqlvalues = cmdsqlvalues +""+ sqlfieldprojarray[index]+",";
cmdtgvalues = cmdtgvalues + "" + valuefieldprojarray[i, n];
}
}
if (!valuefieldprojarray[i,0].Contains("$"))
{
cmdA.CommandText = "INSERT INTO proj_tasks ('" +cmdsqlvalues +"') VALUES ('" + cmdtgvalues + "')";
}
我有一个包含多个节点的XML文档,这些节点包含我需要填充到SQL数据库中的许多属性。
某些节点具有比其他节点更多或更少的属性
这就是为什么我包含了一个IndexOf数组并将这些值添加到字符串数组中的原因。
我正在尝试使用sting数组&#34; cmdsqlvalues&#34;作为表名,但是当我尝试插入SQL表时,字符串数组显示为一个表列并尝试插入一个巨大的列名。
我使用字符串数组很重要,因为每个节点的节点数和属性数都很大,并且每个节点都不同。
如果有人遇到类似的问题并且有任何意见或建议,那么我将非常感激。