我想把数据库中的一些不规则符号都用回车来替换掉。
我的程序如下:
sql语句是:select * from table
....while(rs.read())
{
keyword=rs["单词"].ToString();
keyword=keyword.Replace(".","\r\n");
keyword=keyword.Replace(",","\r\n");
keyword=keyword.Replace(",","\r\n");
keyword=keyword.Replace(":","\r\n");
keyword=keyword.Replace("、","\r\n");
keyword=keyword.Replace(";","\r\n");
keyword=keyword.Replace(";","\r\n");
keyword=keyword.Replace(" ","\r\n");
keyword=keyword.Replace("\t","\r\n"); SqlConnection connection=conn.connection();
SqlCommand NewSqlComm=new SqlCommand("update table set 单词='"+keyword+"' where 序号="+rs["序号"],connection);
NewSqlComm.ExecuteNonQuery();}注意:单词字段是:ntext类型的
我这样写对吗?我现在遇到的问题是:明明数据库中的记录存在逗号,但就是不能更新,一执行到NewSqlComm.ExecuteNonQuery();这里时,就很慢,然后提示错误,这是为什么呢?

解决方案 »

  1.   

    1)将字段中的",",替换成"."号可用:keyword.Replace(".","\r\n")方法来实现
    2)关于:一执行到NewSqlComm.ExecuteNonQuery();这里时,就很慢,然后提示错误的问题,我想可能是你代码的问题:
    你的while(rs.read())语句之前,一定也打开了一个SqlConnection,
    然后     SqlConnection connection=conn.connection();
    SqlCommand NewSqlComm=new SqlCommand("update table set 单词='"+keyword+"' where 序号="+rs["序号"],connection);
    NewSqlComm.ExecuteNonQuery();你再定义了一个SqlConnection的conn,但conn你并没有执行conn.Open(),它又如何能执行NewSqlComm.ExecuteNonQuery();因此会报错.
      

  2.   

    我在while(rs.read())之前是打开了一个SqlConnection,但它与下面的connection名字不同啊。