永发信息网

C# 编写ASP网站时,关于字符串比较的问题

答案:3  悬赏:60  手机版
解决时间 2021-07-20 12:13
  • 提问者网友:欺烟
  • 2021-07-20 02:31

有两个string变量,一个是pwd,一个是pwdtemp

pwd是直接读取控件上的值,

pwdtemp是从数据库中读取一个值.

用 if (pwd == pwdtemp) 来判断两个字符串是否相等,

数据库里面,值是 111 后面没有空格,类型 char  长度 10

但是程序读的时候,就会有空格,如上图所示.

请问为什么?

应该怎么处理?

最佳答案
  • 五星知识达人网友:鱼芗
  • 2021-07-20 03:58

建议将数据库的类型改为varchar(10)即可以节省空间,还不会出现你的错误


你也可以在比较的时候先去空格if (Trim(pwd) == Trim(pwdtemp))


读取多个数据可以采用这个方法


public DataTable getDataTable(string sql)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);//查询语句,连接对象
DataTable dt = new DataTable();
try
{
sda.Fill(dt);
return dt;
}
catch
{
return null;
}
}

全部回答
  • 1楼网友:山有枢
  • 2021-07-20 05:13

你可能没有使用 Char VarChar 这样的数据类型,这些数据的长度是固定的。

你可以改为 NChar NVarChar 。

程序控制的话你需要 pwdtemp = cmd.ExecuteScalar().ToString().Trim(); //去除空格

  • 2楼网友:由着我着迷
  • 2021-07-20 04:14
输入过要用“ select rtrim (pwd) as pwd.....................”
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯