Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Oracle中使用XML保存数据_C#_Oracle - Fatal编程技术网

C# 在Oracle中使用XML保存数据

C# 在Oracle中使用XML保存数据,c#,oracle,C#,Oracle,我使用以下代码保存。将记录更新到Oracle OracleConnection con = new OracleConnection(constr); con.Open(); // Create the command. OracleCommand cmd = new OracleCommand("", con); cmd.CommandText = "<?xml version=\"1.0\"?>\n" + "<ROWSET>\n" + " <M

我使用以下代码保存。将记录更新到Oracle

OracleConnection con = new OracleConnection(constr);
con.Open();

// Create the command.
OracleCommand cmd = new OracleCommand("", con);
cmd.CommandText = "<?xml version=\"1.0\"?>\n" +
    "<ROWSET>\n" +
    " <MYROW>\n" +
    " <FIELD1>2</FIELD1>\n" +
    " <FIELD2>zafar</FIELD2>\n" +
    " </MYROW>\n" +
    "</ROWSET>\n";

// Set the XML save properties.
KeyColumnsList = new string[1];
KeyColumnsList[0] = "FIELD1";
UpdateColumnsList = new string[1];
UpdateColumnsList[0] = "FIELD2";

cmd.XmlSaveProperties.KeyColumnsList = KeyColumnsList;
cmd.XmlSaveProperties.UpdateColumnsList = UpdateColumnsList;
cmd.XmlSaveProperties.RowTag = "MYROW";
cmd.XmlSaveProperties.Table = "testconn";
cmd.XmlSaveProperties.Xslt = null;
cmd.XmlSaveProperties.XsltParams = null;
rows = cmd.ExecuteNonQuery();

Console.WriteLine("rows: " + rows);
OracleConnection con=新的OracleConnection(cont);
con.Open();
//创建命令。
OracleCommand cmd=新的OracleCommand(“,con”);
cmd.CommandText=“\n”+
“\n”+
“\n”+
“2\n”+
“zafar\n”+
“\n”+
“\n”;
//设置XML保存属性。
KeyColumnsList=新字符串[1];
KeyColumnsList[0]=“FIELD1”;
UpdateColumnsList=新字符串[1];
UpdateColumnsList[0]=“FIELD2”;
cmd.XmlSaveProperties.KeyColumnsList=KeyColumnsList;
cmd.XmlSaveProperties.UpdateColumnsList=UpdateColumnsList;
cmd.XmlSaveProperties.RowTag=“MYROW”;
cmd.XmlSaveProperties.Table=“testconn”;
cmd.XmlSaveProperties.Xslt=null;
cmd.XmlSaveProperties.XsltParams=null;
rows=cmd.ExecuteNonQuery();
Console.WriteLine(“行:”+行);

字段2
列中,我想使用
从双
中选择用户。我无法保存当前数据库用户。

命令文本中的数据结构假定所有值都是文字。无法让它识别内部查询或表达式。如果要查询
用户
,则必须单独进行查询并将其合并到数据中。这在
Xslt
XsltParams
子句中是可能的。

有什么原因不能只使用普通的INSERT/UPDATE语句吗?我想一次保存/更新多条记录。为什么要这样做?您在执行标准更新/插入时是否存在一些合理的性能问题?