我是SQL查询新手,我想从结算类型setup(Table)中加载“PSX LAGA”值,其中结算类型等于Regular/BO,销售/采购等于“Purchase”;
下面是我的代码,这是我的桌子
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/