用c#编写的Web程序,通过SqlCommand的方式执行Sql语句向数据库中存储数据。流量小时一切正常。有过出现操作时间比较近的时候就会出现串数现象。不知应该怎么解决。存储的数据中会有3个ntext类型字段,是否和字段类型有关呢?谢谢。

解决方案 »

  1.   

    补充说明。我的Sql服务器和IIS服务器是同一台服务器。且服务器上运行多项程序,负担量较大。所以串数是服务器的问题还是代码的问题?如果是服务器的问题应该如何调整?如果是代码问题应该是那一块的问题?谢谢了。盼回复!
      

  2.   

    部分源代码如下:
    StrSql = "update test set Name='" + Session["Name"].ToString().Trim() + "',STime='" + DateTime.Now.ToShortDateString().Trim() + "' where ID='" + TID + "'";
    Result = TTSTool.SqlCMD(StrSql, strVBConn).ToString().Trim();SqlCMD自定义的函数
    public string SqlCMD(string StrSql,string strDBConn)
        {
           //StrSql:执行语句
            //strDBConn:数据库驱动
            string ReturnValue = "";
            try
            {
                SqlConnection DBConn = new SqlConnection(strDBConn);
                DBConn.Open();
                SqlCommand DBCMD = new SqlCommand(StrSql, DBConn);
                DBCMD.ExecuteNonQuery();
                DBConn.Close();
                ReturnValue = "1";
            }
            catch (Exception ex)
            {
                ReturnValue = "数据操作失败! - " + ex.Message.ToString().Trim();
            }
            return ReturnValue;
        }
      

  3.   

     有可能是 ntex的数据有 ' 等字符 改变了sql语句的 合法性 所以执行出错
      

  4.   

    既然数据库服务器与应该服务器在一台机器上,不妨将STime=sysdate
      

  5.   

    StrSql = "update test set Name='" + Session["Name"].ToString().Trim() + 
          "',STime=sysdate where ID='" + TID + "'"; 
    如果STime为字符类型需改为:
    StrSql = "update test set Name='" + Session["Name"].ToString().Trim() + 
          "',STime=to_char(sysdate,'yyyy-mm-dd') where ID='" + TID + "'"; 如还有错误,将错误原因也贴出来。
      

  6.   

    串数就是A记录和B记录的内容在存入数据库的时候,A记录的不分数据内容记录到B记录中。