在c#中插入clob和xmlType資料
1、 使用c#插入clob資料
content是一個clob類型
/// <summary>
/// 插入vcard資料到表中
/// </summary>
/// <returns></returns>
public int InsertVcardContent(string userName ,string deviceID, string stateColumn
,string content ,string keyColumn )
{
int i=0;
string sql =" insert into sync_address_content "
+" (username, deviceid, statecolumn, keycolumn, content,timestampcolumn, operationdt)"
+" values "
+" ('"+userName+"','"+deviceID+"','"+stateColumn+"', '"+keyColumn+"',:TempContent,systimestamp, sysdate)";
try
{
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
OracleCommand Cmd=new OracleCommand(sql,connection);
OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Direction=ParameterDirection.Input;
Temp.Value=content;
Cmd.Parameters.Add(Temp);
i=Cmd.ExecuteNonQuery();
connection.Close();
}
catch(Exception ex)
{
if(log.IsInfoEnabled)
{
log.Info(ex.Message);
Console.WriteLine(ex.Message);
}
}
return i;
}
測試:
[Test]
public void InsertClobContentTest()
{
DbContactor dbContactor = new DbContactor();
dbContactor.InsertVcardContent("a","b","u","d","e");
}
在c#中插入 sys.xmlTypel類型的資料:
/// <summary>
/// 插入vcard資料到表中
/// </summary>
/// <returns></returns>
public int InsertVcardContentXML(string userName ,string deviceID, string stateColumn
,string content ,string keyColumn )
{
int i=0;
string sql =" insert into sync_address_content_xml "
+" (username, deviceid, statecolumn, keycolumn, content,timestampcolumn, operationdt)"
+" values "
+" ('"+userName+"','"+deviceID+"','"+stateColumn+"', '"+keyColumn+"',:TempContent,systimestamp, sysdate)";
try
{
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
OracleCommand Cmd=new OracleCommand(sql,connection);
OracleParameter Temp=new OracleParameter("TempContent",OracleType.Clob);
Temp.Direction=ParameterDirection.Input;
Temp.Value=content;
Cmd.Parameters.Add(Temp);
i=Cmd.ExecuteNonQuery();
connection.Close();
}
catch(Exception ex)
{
if(log.IsInfoEnabled)
{
log.Info(ex.Message);
Console.WriteLine(ex.Message);
}
}
return i;
}
Nunit測試:
[Test]
public void InsertVcardContentXMLTest()
{
DbContactor dbContactor = new DbContactor();
dbContactor.InsertVcardContentXML("a","b","u","<hello>e</hello>","e");
}