现在的位置: 首页 > 综合 > 正文

Inserting/Retrieving CLOB/NCLOB Data

2012年03月16日 ⁄ 综合 ⁄ 共 2317字 ⁄ 字号 评论关闭

private void btnGetCLOB_Click(object sender, EventArgs e)
{
  //We first read the full contents of the file into a byte array
        string _connstring = "Data Source=localhost/NEWDB;User    
  Id=EDZEHOO;Password=PASS123;";
        try
        {
          OracleConnection _connObj = new OracleConnection(_connstring);
                OracleDataReader _rdrObj;
                _connObj.Open();
                OracleCommand _cmdObj = _connObj.CreateCommand();
                _cmdObj.CommandText = "SELECT Remarks FROM ProductFiles WHERE 
   ProductID=:ProductID";
                _cmdObj.Parameters.Add(new OracleParameter("ProductID", txtProductID.Text));
                _rdrObj=_cmdObj.ExecuteReader();
                if (_rdrObj.HasRows)
                {
                    if (_rdrObj.Read())
                    {
                        OracleClob _clobObj = 
    _rdrObj.GetOracleClob(_rdrObj.GetOrdinal("Remarks"));
                        txtRemarks.text = _clobObj.Value
                    }
                }
                else
                {
                    MessageBox.Show("An item with the matching product ID was not found!");
                }
                _connObj.Close();
                _connObj.Dispose();
                _connObj = null;
 }
        catch (Exception ex)
        {
          MessageBox.Show(ex.ToString());
 }
}

 

using Oracle.DataAccess.Types;
private void btnInsert_Click(object sender, EventArgs e)
{
        string _connstring = "Data Source=localhost/NEWDB;User 
  Id=EDZEHOO;Password=PASS123;";
        int _recordsAffected;         try
        {
          OracleConnection _connObj = new OracleConnection(_connstring);
                _connObj.Open();
                OracleCommand _cmdObj = _connObj.CreateCommand();
                _cmdObj.CommandText = "INSERT INTO ProductFiles(ProductID, Remarks) 
   VALUES(:ProductID,:Remarks)";
                _cmdObj.Parameters.Add (new OracleParameter 
   ("ProductID",txtProductID.Text));
    OracleClob _clobObj = new OracleClob(_connObj);
  _clobObj.Write(txtRemarks.Text.ToCharArray(), 0, txtRemarks.Text.Length);
    _cmdObj.Parameters.Add (new OracleParameter("Remarks", _clobObj));
                _recordsAffected = _cmdObj.ExecuteNonQuery();
                if (_recordsAffected == 1) { MessageBox.Show("CLOB saved!"); }
                _connObj.Close();
                _connObj.Dispose();
                _connObj = null;
        }
        catch (Exception ex)
        {
          MessageBox.Show(ex.ToString());
        }
}

抱歉!评论已关闭.