把你完整代码贴出来看看
SqlParameter[] parameters = {

new SqlParameter("@ryBH", SqlDbType.VarChar,20),
new SqlParameter("@ryPwd", SqlDbType.VarChar,10)};

parameters[0].Value = model.ryBH;
parameters[1].Value = model.ryPwd;红色部分是定义参数长度,如果长度超过这个,就会截取字符串

解决方案 »

  1.   

    我的表TEST1 其中CVALUE 字段类型为 text
    输入的值是40个字节的字符串 可以正常取到,没有发现你说的问题。

    string strConn =   "server=(local);database=module0;uid=sa;password=sa;";
    string strSql = "select * from TEST1";
    SqlConnection myConn = new SqlConnection(strConn);
    SqlCommand myCmd = new SqlCommand();
    myConn.Open();
    myCmd.Connection = myConn;
    myCmd.CommandText = strSql ;
    SqlDataReader reader = myCmd.ExecuteReader();
    while(reader.Read())
    {
    string str1 = reader["code"].ToString();
    string str2 = reader["CVALUE"].ToString();
    reader.NextResult();
    }
    reader.Close();
      

  2.   

    用参数new SqlParameter("@ryPwd", SqlDbType.VarChar,10)}; 
      

  3.   

    第一是你的数据库字段长度问题。
    第二是你传递参数时的长度问题。
    new SqlParameter("@ryBH", SqlDbType.VarChar,20), 
    new SqlParameter("@ryPwd", SqlDbType.VarChar,10)};