asp.net 向Oracle数据库表的Clob字段中写入文本编辑器中输入的大段文字信息

简介: 首先需要一个Oracle操作类,OraDbHelper.cs,代码如下:using System;using System.

首先需要一个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);


       

相关文章
|
7月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
83 4
|
7月前
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Dept实体类和对应的配置信息
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Dept实体类和对应的配置信息
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
255 3
|
2月前
|
SQL 开发框架 .NET
ASP连接SQL数据库:从基础到实践
随着互联网技术的快速发展,数据库与应用程序之间的连接成为了软件开发中的一项关键技术。ASP(ActiveServerPages)是一种在服务器端执行的脚本环境,它能够生成动态的网页内容。而SQL数据库则是一种关系型数据库管理系统,广泛应用于各类网站和应用程序的数据存储和管理。本文将详细介绍如何使用A
87 3
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
4月前
|
存储 开发框架 .NET
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间
|
4月前
|
程序员 数据库
分享 2 个 .NET EF 6 只更新某些字段的方法
分享 2 个 .NET EF 6 只更新某些字段的方法
113 0
|
6月前
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
83 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
5月前
|
Oracle 关系型数据库
oracle收集统计信息,游标失效时间
Dbms_stats Invalidates Cursors in Auto_invalidate mode
48 0
|
5月前
|
Oracle 关系型数据库
oracle收集统计信息,游标失效时间
Dbms_stats Invalidates Cursors in Auto_invalidate mode
40 0

推荐镜像

更多
下一篇
DataWorks