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

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"%> 
posted @ 2014-03-20 14:44  tohen  阅读(1120)  评论(0编辑  收藏  举报