c# - 检查数据库中的字符串值
问题描述
我在比较字符串值时遇到了奇怪的问题。我在 SQL 中有一个类型为 (nchar) 的值,该值等于“文本”。然后我将此值设置为字符串变量 x,然后我将字符串变量 x 与单词 "text" 进行比较。
问题是它表明 x 不等于值“文本”,即使当我将 x 值添加到标签时,它也会显示单词“文本”。
这是我的代码:
string x;
using (SqlCommand cmd = new SqlCommand(
"select column from text_table where column = 'text'", sqlCon))
{
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
{
x = reader["column"].ToString();
if (x.Equals("text"))
{
// run code
}
else
{
label1.Text ="x doesn't equal text";
}
当我使用代码时,它总是显示消息“x 不等于文本”,但它应该运行代码,因为字符串 x 的值是“文本”
解决方案
您使用了具有恒定长度的“nchar”列类型。我不确定,但在比较之前进行修剪可能会解决您的问题。
尝试
x = reader["column"].ToString().Trim();
我认为还有一个错误:()中没有“x” if (stat.Equals("text")
。
推荐阅读
- apache - 如何为 Windows Apache Web 服务器集成和启动 Datadog 监控?
- c++ - 虚幻引擎 - 将可见网格从物理实体实例中分离出来
- sql - 有人可以帮我处理 SQL 中的这个 join 语句吗?后面有两个 JOINS
- laravel-5 - 如何在 API 身份验证中只允许不记名令牌?
- powerbi - 通过发布应用程序向用户授予权限时,如果数据集位于另一个工作区中,则它不适用于数据集
- database - Gremlin:提供的遍历器未映射到值
- angular - Angular 11 错误:您在预期流的位置提供了无效对象。您可以提供 Observable、Promise、Array 或 Iterable
- android-location - 如何以编程方式匹配android中的两个位置?
- python - python discord bot-只是无法在线(只是一个简单的问题)
- php - 使用 PHP 的 X & Y 标记表