asp.net 向Oracle資料庫表的Clob欄位中寫入文字編輯器中輸入的大段文字資訊
首先需要一個Oracle操作類,OraDbHelper.cs,程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.OracleClient;
/// <summary>
///OraDbHelper 的摘要說明
/// </summary>
public class OraDbHelper
{
private string connectionString;
/// <summary>
/// 設定資料庫字串的連線
/// </summary>
public string ConnectionString
{
set { connectionString = value; }
}
public OraDbHelper(string connectionString)
{
this.connectionString = connectionString;
}
#region ExecuteDataTable
/// <summary>
/// 執行一個查詢,並返回結果集
/// </summary>
/// <param name="commandText">要執行的查詢SQL文字命令</param>
/// <returns>返回查詢結果集</returns>
public DataTable ExecuteDataTable(string commandText)
{
return ExecuteDataTable(commandText, CommandType.Text, null);
}
/// <summary>
/// 執行一個查詢,並返回查詢結果
/// </summary>
/// <param name="commandText">要執行的SQL語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者SQL文字命令</param>
/// <returns>返回查詢結果集</returns>
public DataTable ExecuteDataTable(string commandText, CommandType commandType)
{
return ExecuteDataTable(commandText, commandType, null);
}
/// <summary>
/// 執行一個查詢,並返回查詢結果
/// </summary>
/// <param name="commandText">要執行的SQL語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者SQL文字命令</param>
/// <param name="parameters">PL-SQL 語句或儲存過程的引數陣列</param>
/// <returns></returns>
public DataTable ExecuteDataTable(string commandText, CommandType commandType, params OracleParameter[] parameters)
{
DataTable data = new DataTable();//例項化DataTable,用於裝載查詢結果集
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand command = new OracleCommand(commandText, connection))
{
command.CommandType = commandType;//設定command的CommandType為指定的CommandType
//如果同時傳入了引數,則新增這些引數
if (parameters != null)
{
foreach (OracleParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
//通過包含查詢SQL的SqlCommand例項來例項化SqlDataAdapter
OracleDataAdapter adapter = new OracleDataAdapter(command);
adapter.Fill(data);//填充DataTable
}
}
return data;
}
#endregion ExecuteDataTable
#region ExecuteReader
/// <summary>
/// 將 CommandText 傳送到 Connection 並生成一個 OracleDataReader。
/// </summary>
/// <param name="commandText">要執行的查詢SQL文字命令</param>
/// <returns></returns>
public OracleDataReader ExecuteReader(string commandText)
{
return ExecuteReader(commandText, CommandType.Text, null);
}
/// <summary>
/// 將 CommandText 傳送到 Connection 並生成一個 OracleDataReader。
/// </summary>
/// <param name="commandText">要執行的SQL語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者SQL文字命令</param>
/// <returns></returns>
public OracleDataReader ExecuteReader(string commandText, CommandType commandType)
{
return ExecuteReader(commandText, commandType, null);
}
/// <summary>
/// 將 CommandText 傳送到 Connection 並生成一個 OracleDataReader。
/// </summary>
/// <param name="commandText">要執行的SQL語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者SQL文字命令</param>
/// <param name="parameters">Transact-SQL 語句或儲存過程的引數陣列</param>
/// <returns></returns>
public OracleDataReader ExecuteReader(string commandText, CommandType commandType, OracleCommand[] parameters)
{
OracleConnection connection = new OracleConnection(connectionString);
OracleCommand command = new OracleCommand(commandText, connection);
//如果同時傳入了引數,則新增這些引數
if (parameters != null)
{
foreach (OracleCommand parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();
//CommandBehavior.CloseConnection引數指示關閉Reader物件時關閉與其關聯的Connection物件
return command.ExecuteReader(CommandBehavior.CloseConnection);
}
#endregion ExecuteReader
#region ExecuteScalar
/// <summary>
/// 從資料庫中檢索單個值(例如一個聚合值)。
/// </summary>
/// <param name="commandText">要執行的查詢PL-SQL文字命令</param>
/// <returns></returns>
public Object ExecuteScalar(string commandText)
{
return ExecuteScalar(commandText, CommandType.Text, null);
}
/// <summary>
/// 從資料庫中檢索單個值(例如一個聚合值)。
/// </summary>
/// <param name="commandText">要執行的SQL語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者PL-SQL文字命令</param>
/// <returns></returns>
public Object ExecuteScalar(string commandText, CommandType commandType)
{
return ExecuteScalar(commandText, commandType, null);
}
/// <summary>
/// 從資料庫中檢索單個值(例如一個聚合值)。
/// </summary>
/// <param name="commandText">要執行的SQL語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者SQL文字命令</param>
/// <param name="parameters">PL-SQL 語句或儲存過程的引數陣列</param>
/// <returns></returns>
public Object ExecuteScalar(string commandText, CommandType commandType, OracleParameter[] parameters)
{
object result = null;
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand command = new OracleCommand(commandText, connection))
{
command.CommandType = commandType;//設定command的CommandType為指定的CommandType
//如果同時傳入了引數,則新增這些引數
if (parameters != null)
{
foreach (OracleParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();//開啟資料庫連線
result = command.ExecuteScalar();
}
}
return result;//返回查詢結果的第一行第一列,忽略其它行和列
}
#endregion ExecuteScalar
#region ExecuteNonQuery
/// <summary>
/// 對資料庫執行增刪改操作
/// </summary>
/// <param name="commandText">要執行的查詢pl-sql文字命令</param>
/// <returns></returns>
public int ExecuteNonQuery(string commandText)
{
return ExecuteNonQuery(commandText, CommandType.Text, null);
}
/// <summary>
/// 對資料庫執行增刪改操作
/// </summary>
/// <param name="commandText">要執行的pl-sql語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者pl-sql文字命令</param>
/// <returns></returns>
public int ExecuteNonQuery(string commandText, CommandType commandType)
{
return ExecuteNonQuery(commandText, commandType, null);
}
/// <summary>
/// 對資料庫執行增刪改操作
/// </summary>
/// <param name="commandText">要執行的pl-sql語句</param>
/// <param name="commandType">要執行的查詢語句的型別,如儲存過程或者pl-sql文字命令</param>
/// <param name="parameters">pl-sql 語句或儲存過程的引數陣列</param>
/// <returns>返回執行操作受影響的行數</returns>
public int ExecuteNonQuery(string commandText, CommandType commandType, OracleParameter[] parameters)
{
int count = 0;
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand command = new OracleCommand(commandText, connection))
{
command.CommandType = commandType;//設定command的CommandType為指定的CommandType
//如果同時傳入了引數,則新增這些引數
if (parameters != null)
{
foreach (OracleParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();//開啟資料庫連線
count = command.ExecuteNonQuery();
}
}
return count;//返回執行增刪改操作之後,資料庫中受影響的行數
}
#endregion ExecuteNonQuery
}
cs程式碼中呼叫程式碼如下:
OraDbHelper dbHelper = new OraDbHelper(System.Configuration.ConfigurationManager.ConnectionStrings["OracleConnectionString"].ConnectionString.ToString());
string sql = "insert into SYIT_POSTINFORM " +
" ( ZYXTYPE,GRADENM,TITLE,FBRNM,FBTM,YXTM,CONTS,FROMSR) values ";
sql += "( '" + sclass + "'";
sql += ", '" + gwxx[1] + "'";
sql += ", '" + gwxx[0] + "'";
sql += ",' " + gwxx[2] + "'";
sql += ", to_date('" + gwxx[3] + "','yyyy/MM/DD')";
sql += ", to_date('" + gwxx[5] + "','yyyy/MM/DD')";
sql += ", :lgContent ";
sql += ", '" + gwxx[4] + "'";
sql += " )";
OracleParameter[] parameters = {
new OracleParameter("lgContent",OracleType.Clob)
};
parameters[0].Value = gwxx[6];
dbHelper.ExecuteNonQuery(sql, CommandType.Text, parameters);
相關文章
- 【Linux】中預設文字編輯器 vim 的入門與進階Linux
- 如何在Oracle資料庫中查詢表和欄位說明Oracle資料庫
- 大文字資料,匯入匯出到資料庫資料庫
- 檢視oracle資料庫中,哪些表的欄位是null值比較多Oracle資料庫Null
- nlp中文字輸入的資料預處理方式
- UltraEdit文字編輯器編寫強大的宏教程
- 日常筆記一:擷取富文字編輯器中的文字內容筆記
- Oracle資料庫連結(DBLink)中如何訪問包含BLOB欄位的資料Oracle資料庫
- 【解決方案】Oracle插入/更新CLOB欄位報ORA-01704:字串文字太長Oracle字串
- 泛微oa流程表單之明細表欄位通過文字輸入內容使另外一個欄位必填
- EditText中輸入資訊的限制的方法
- 資料庫中的圖片欄位怎麼在報表中呈現資料庫
- 深度學習中,影像和文字的輸入區別深度學習
- 簡單介紹2種Java讀取Oracle大欄位資料(CLOB)的方法JavaOracle
- [Djangorestframework]-富文字編輯器的使用DjangoRESTFramework
- 如何查詢某個資料表中除某個欄位的所有資訊???
- python如何將資料寫入本地txt文字檔案Python
- 在Django中,多資料操作,你可以編寫測試來查詢另一個資料庫伺服器中的資料,並將結果匯入當前Django專案的資料庫表中Django資料庫伺服器
- basecamp/trix: 用於日常寫作的富文字編輯器
- 如何在模板中編輯修改文字
- Sql查詢 一個表中某欄位的資料在另一個表中某欄位中不存在的SQL
- 文字框輸入文字倒計詳解
- FSNotes for Mac(文字編輯器)Mac
- Typora for Mac(文字編輯器)Mac
- Linux文字編輯器JedLinux
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- 資料庫中欄位資料型別以及約束資料庫資料型別
- 查詢資料庫表及表欄位資料庫
- Vue 自定義富文字編輯器 tinymce 支援匯入 word 模板Vue
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- jinq 入門介紹-java中編寫資料庫查詢的簡單自然的方式Java資料庫
- kettle從入門到精通 第八十課 ETL之kettle kettle中的json物件欄位寫入postgresql中的json欄位JSON物件SQL
- [提問交流]在模型管理中增加的資料欄位是列舉型別,但是寫入資料庫變成了數字形式,如何寫成原值?模型型別資料庫
- 不用滑鼠怎麼讓excel中的游標直接進入文字輸入狀態?Excel
- WebApi 中請求的 JSON 資料欄位作為 POST 引數傳入WebAPIJSON
- 資料庫表欄位命名規範資料庫
- CAD中怎麼輸入文字?CAD製圖初學入門教程
- 簡單的文字編輯
- 文字框文字輸入數量倒計效果