我是SQL查询新手,我想从结算类型setup(Table)中加载“PSX LAGA”值,其中结算类型等于Regular/BO,销售/采购等于“Purchase”;
下面是我的代码,这是我的桌子
c# - C#中的SQL查询错误-LMLPHP

private void Load_Settlement_Type()
        {
        SqlCeConnection conn = null;
        SqlCeCommand cmd = null;
        SqlCeDataReader rdr = null;

        try
        {
            conn =
                new SqlCeConnection(
                   @"Data Source=|DataDirectory|\Database.sdf;Persist Security Info=False");
            conn.Open();
            cmd = new SqlCeCommand("SELECT PSXLaga FROM SettlementTypeSetup where SettlementType=BO/REGULAR;" , conn);
            rdr = cmd.ExecuteReader();

            if (rdr == null)
            {
                MessageBox.Show("Reader is null");
            }
            else
            {
                while (rdr.Read())
                {
                    PSXLAGATEXT  = rdr["PSXLaga"].ToString();

                }

                 rdr.Close();
                cmd.Dispose();

            }
        }
        finally
        {
            conn.Close();
            PSXLagaTextBox.Text = PSXLAGATEXT;

        }

    }

****它给出错误:Column Name:BO/REGULAR未找到,而BO/REGULAR不是列名,BO/REGULAR是SettlementType(Column)的值,条件如下**
给我PSX Laga值,其中SettlementType(Column)值是
BO/普通和Sale/Purchase(列)是Purchase。
**

最佳答案

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

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

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

关于c# - C#中的SQL查询错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40995907/

10-09 18:51