void SaveText(string strValue)
{
if (_bh==string.Empty)
{
return;
}
string s="update ET_TEMP set files=files+@files where bh=@bh";
SqlParameter[] par={
   new SqlParameter("@files",SqlDbType.Text),
   new SqlParameter("@bh",SqlDbType.Int,8)};
par[0].Value=strValue;
par[1].Value=_bh; bool b=ExecPrams(s,par);
if (!b)
{

}
}
bool ExecPrams(string sql,System.Data.SqlClient.SqlParameter[] parms)
{
bool bRe=true;
try
{
using(SqlConnection cn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]))
{
cn.Open();
using(SqlCommand cm=cn.CreateCommand())
{
cm.CommandType=CommandType.Text;
cm.CommandText=sql;
foreach(SqlParameter pr in parms)
cm.Parameters.Add(pr);
cm.ExecuteNonQuery();
}
}
}
catch (System.Exception e)
{
bRe=false;
} return bRe;

}我这样写不行!!谢谢回复

解决方案 »

  1.   

    对不起字打错了
    :string s="update ET_TEMP set files=files+@files where bh=@bh";//files text类型
    这样连接text类型字段错误,提示:运算符为 add,类型为 text.
    那怎么在该字段追加插入text类型数据.
      

  2.   

    DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(files) from ET_TEMP
    UPDATETEXT ET_TEMP.files @ptrval null 0 @files
      

  3.   

    这个是直接连上去 
    SELECT @ptrval = TEXTPTR(files) from ET_TEMP //把原来的数据读出来放到@ptrval变量里
    UPDATETEXT ET_TEMP.files @ptrval null 0 @files //连接并写入数据
      

  4.   

    看看下面这个例子本示例把文本指针置于局部变量 @ptrval 中,然后使用 UPDATETEXT 更新拼写错误。USE pubs
    GO
    EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'
    GO
    DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(pr_info) 
       FROM pub_info pr, publishers p
          WHERE p.pub_id = pr.pub_id 
          AND p.pub_name = 'New Moon Books'
    UPDATETEXT pub_info.pr_info @ptrval 88 1 'b' 
    GO
    EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
    GO
      

  5.   

    呵呵但是我只想更新某个条件下的text类型字段?我在后面加where不行啊
    例如:UPDATETEXT ET_TEMP.files @ptrval null 0 @files where bh=1
    我查了下不能代where 怎么办?
      

  6.   

    把你的 string s="update ET_TEMP set files=files+@files where bh=@bh";
    替换成
    DECLARE @ptrval binary(16)
    SELECT @ptrval = TEXTPTR(files) from ET_TEMP WHERE bh= @bh
    UPDATETEXT ET_TEMP.files @ptrval null 0 @files不明白原理就看下SQL SERVER 联机帮助里面的UPDATETEXT 的用法.