Dan*_*ani 3 c# sql t-sql sql-server
为什么这不起作用?这是关于命令串语法附近的东西,=但我似乎无法弄明白,在线示例似乎完全相同.
编辑:已激活在列中.
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;
}
Run Code Online (Sandbox Code Playgroud)
如果数据库中列的名称是Activated In(带空格),则在引用查询中的对象/列名称时需要使用方括号,例如:
SELECT * FROM Inventory WHERE Rep <> '#NA' AND [Activated In] = '#NA'
Run Code Online (Sandbox Code Playgroud)
这是因为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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
361 次 |
| 最近记录: |