gpt4 book ai didi

c# - Sql 查询帮助,接近 = 的语法错误

转载 作者:行者123 更新时间:2023-11-30 13:17:42 26 4
gpt4 key购买 nike

为什么这不起作用?这与 = 附近的命令字符串语法有关,但我似乎无法弄清楚,在线示例似乎完全相同。编辑: Activated In 是一列。

示例来自 How to select data from database with many filter options?

private void btnDist_Click(object sender, EventArgs e)
{
string cmdText = "SELECT * FROM Inventory WHERE Rep <> '#NA' AND Activated In = '#NA'";
SqlDataAdapter adapter = new SqlDataAdapter(cmdText, GetConnection());
DataSet distDS = new DataSet();
adapter.Fill(distDS);

dataGridView1.DataSource = distDS.Tables[0].DefaultView;
}

最佳答案

如果数据库中的列名称是Activated In(带空格),那么在查询中引用对象/列名称时需要使用方括号,例如:

SELECT * FROM Inventory WHERE Rep <> '#NA' AND [Activated In] = '#NA'

这是因为 SQL 将空格视为查询语言中的分隔符 - 方括号用于“转义”名称中的这个(和其他字符)。

或者,如果该列只是称为 Activated,则您不需要 IN 位 - 测试是否相等或测试值是否在给定的范围内范围,但不要两者都做。

-- Use this
SELECT * FROM Inventory WHERE Rep <> '#NA' AND Activated = '#NA'
-- Or this
SELECT * FROM Inventory WHERE Rep <> '#NA' AND Activated IN ('#NA', 'Some other value')

关于c# - Sql 查询帮助,接近 = 的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6648656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com