Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C中的SQL查询错误_C#_Mysql - Fatal编程技术网

C# C中的SQL查询错误

C# C中的SQL查询错误,c#,mysql,C#,Mysql,我不熟悉SQL查询,我想从结算类型等于常规/BO,销售/采购等于采购的结算类型设置表中加载PSX LAGA值 下面是我的代码,这是我的表格 ****它给出了一个错误:列名:BO/REGULAR未找到,而BO/REGULAR不是列名,BO/REGULAR是一个结算类型列的值,条件如下** 给我PSX Laga值,其中SettlementTypeColumn值为 BO/常规和销售/采购栏为采购栏 **此查询意味着您希望从沉降类型设置表中检索PSXLaga,其中沉降类型等于给定值。在您的情况下,这是B

我不熟悉SQL查询,我想从结算类型等于常规/BO,销售/采购等于采购的结算类型设置表中加载PSX LAGA值

下面是我的代码,这是我的表格

****它给出了一个错误:列名:BO/REGULAR未找到,而BO/REGULAR不是列名,BO/REGULAR是一个结算类型列的值,条件如下**

给我PSX Laga值,其中SettlementTypeColumn值为 BO/常规和销售/采购栏为采购栏


**

此查询意味着您希望从沉降类型设置表中检索PSXLaga,其中沉降类型等于给定值。在您的情况下,这是BO/常规。如果您的结算类型是字符串,则必须在值周围加引号,如:“BO/REQUALIC”

因此,正确的查询如下所示:

"SELECT PSXLaga FROM SettlementTypeSetup WHERE SettlementType = 'BO/REGULAR';"
编辑:我知道您还想检查销售/购买是否等于购买。您可以通过将其添加到查询中来实现这一点:但我不确定它是否喜欢表名中的/

"AND Sale/Purchase = 'Purchase'"
不过我建议使用我的出生名的答案。客观上比上面的查询要好

第二次编辑:你又忘记了引号。不正确:

"SELECT PSXLaga FROM SettlementTypeSetup where SettlementType="+settlementTypeComboBox.Text + " AND [Sale/Purchase]='Purchase'"
正确:

"SELECT PSXLaga FROM SettlementTypeSetup WHERE SettlementType = '" + settlementTypeComboBox.Text + "' AND [Sale/Purchase] = 'Purchase';"

但同样,试着像mybirthname那样编写代码。我对C代码中的查询没有太多经验。

您需要将值写入,因为它是一个字符串。另一种方法是使用参数

cmd = new SqlCeCommand("SELECT PSXLaga FROM SettlementTypeSetup where SettlementType=@Type" , conn);

cmd.Parameters.AddWithValue("@Type", "BO/REGULAR");

在哪里结算type='BO/REGULAR'注意我看到的值周围的引号,这个查询怎么样?cmd=new sqlcecommand从结算类型设置中选择PSXLaga,其中结算类型='BO/REGULAR'和销售/采购='Purchase',conn;“这一个不起作用,说找不到列名。@Patrick您可以尝试这样包装[Sale/Purchase],但为什么要这样定义列?我明白了,斜杠给我带来了错误。”。还有一件事,我是否应该重新创建我的表,因为我在btw sale and purchase中有斜杠,它会在将来给我错误吗?@Patrick SaleAndPurchase会好的,如果它们之间有空格,你需要再次包装它[sale and purchase],我的意思是,现在我用[sale/purchase]创建了这个表,它中间有斜杠,这是创建表的正确方法吗?这会给我将来带来什么困难吗?或者我应该用Sale\u Purchase重新创建我的列?如果我想使用comboBox选择BO常规呢?cmd=new sqlcecommand从结算类型设置中选择PSXLaga,其中结算类型=+结算类型组合框.Text+和[Sale/Purchase]='Purchase',conn;
cmd = new SqlCeCommand("SELECT PSXLaga FROM SettlementTypeSetup where SettlementType=@Type" , conn);

cmd.Parameters.AddWithValue("@Type", "BO/REGULAR");