C#对Sql Server TEXT字段存储的实现(使用存储过程)

本文介绍了如何在数据库中创建News数据表,并通过存储过程实现新闻的插入与更新功能。利用C#代码调用存储过程,实现了对文本字段的保存与修改。注意在大文本字段的HTML代码中设置特殊属性以确保正确显示。

1.这里先准备数据库:在数据库中建立一个News数据表,字段为id,title,content
2.建立用于插入news的存储过程:NewsInsert和NewsUpdate,代码如下:

CREATE PROCEDURE NewsInsert   @title char(200),@content text   AS
Insert Into News (title,content) Values (@title,'')
DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(content) 
FROM News 
WHERE id = @@identity
writeTEXT News .content @ptrval  @content
GO
CREATE PROCEDURE NewsUpdate   @title char(200),@content text,@id int   AS

Update News Set title = @title,content='' Where id = @id 

DECLARE @ptrval binary(16)
SELECT @ptrval = TEXTPTR(content) 
FROM News 
WHERE id = @id
writeTEXT News .content @ptrval  @content
GO

 

3.保存text的C#代码:

private void Button2_Click(object sender, System.EventArgs e)
        {
            string str;
            str=this.T1.Text;            
            SqlConnection myCon=new SqlConnection("server=127.0.0.1;database=pubs;uid=sa;pwd=;");//myCon是数据库连接对象            
            myCon.Open();//打开数据库连接
            //以下为C#调用存储过程的代码
            SqlCommand myCom=new SqlCommand("NewsInsert",myCon);//myCom是执行数据库操作的命令对象
            myCom.CommandType=CommandType.StoredProcedure;//说明命令对象执行的是数据库存储过程            
            myCom.Parameters.Add("@title",SqlDbType.VarChar);//添加存储过程参数,名称和类型
            myCom.Parameters["@title"].Value="Ann";//给添加的参数赋值
            myCom.Parameters.Add("@content",SqlDbType.Text);
            myCom.Parameters["@content"].Value=str;
            myCom.ExecuteNonQuery();        
            myCon.Close();//关闭连接
        }

 

4.更新text字段的C#代码:

private void Button4_Click(object sender, System.EventArgs e)
        {
            SqlConnection myCon=new SqlConnection("server=127.0.0.1;database=pubs;uid=sa;pwd=;");//myCon是数据库连接对象            
            myCon.Open();//打开数据库连接
            //以下为C#调用存储过程的代码
            SqlCommand myCom=new SqlCommand("NewsUpdate",myCon);//myCom是执行数据库操作的命令对象
            myCom.CommandType=CommandType.StoredProcedure;//说明命令对象执行的是数据库存储过程            
            myCom.Parameters.Add("@title",SqlDbType.VarChar);//添加存储过程参数,名称和类型
            myCom.Parameters["@title"].Value="Ann";//给添加的参数赋值
            myCom.Parameters.Add("@content",SqlDbType.Text);
            myCom.Parameters["@content"].Value=this.T2.Text;
            myCom.Parameters.Add("@id",SqlDbType.VarChar);//添加存储过程参数,名称和类型
            myCom.Parameters["@id"].Value=Convert.ToInt32(this.tId.Text);//给添加的参数赋值        
            myCom.ExecuteNonQuery();
            myCon.Close();//关闭连接
        }

 

5.显示text字段的方法很简单和varchar字段一样处理就可以了!需要注意的一点是,要在大文本字段所在的aspx页的html代码中的page标签属性中添加<%@ page requestValidate="false"%> 

转载于:https://www.cnblogs.com/tohen/p/3613723.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值