我正在尝试编写一个LINQ查询,它只是获取变量('id')等于JOB_GROUP语句的行数.问题是,Visual Studio正在返回错误; 最后,说'只有转让电话.....可以用作声明'.我的查询有什么明显的错误吗?
var noofrows = from s in dc.QRTZ_JOB_DETAILs
where id == s.JOB_GROUP
select s.JOB_NAME.Count();
Run Code Online (Sandbox Code Playgroud) 我基本上想检查字符串的一部分是否以某个序列开头 - 在本例中为ftp://或http://.我该怎么做?
谢谢
这个SQL查询工作正常,直到我尝试添加CASE语句,但现在我得到语法错误,如本文底部所述.这是SQL(相当史诗,但语法错误发生在CASE周围,可能是先前的SageAccount选择)
SELECT CurrentBalance.Value AS CurrentBalanceValue,
Debt30Balance.Value AS Debt30BalanceValue,
Debt60Balance.Value AS Debt60BalanceValue,
Debt90Balance.Value AS Debt90BalanceValue,
WIP.Value AS WIPValue, CurrentBalance.Value + Debt30Balance.Value +
Debt60Balance.Value + Debt90Balance.Value AS SLDebt,
CurrentBalance.Value + Debt30Balance.Value + Debt60Balance.Value +
Debt90Balance.Value+ WIP.Value AS TotalDebt,
(SELECT CreditTerms FROM SageAccount WHERE ID=@CustomerID)
AS CreditTerms,
CASE WHEN CreditTerms <= 30 THEN
CurrentBalance.Value + Debt30Balance.Value +
Debt60Balance.Value + Dept90Balance.Value
ELSE WHEN CreditTerms <= 60 THEN
Debt30Balance.Value + Debt60Balance.Value + Dept90Balance.Value
ELSE WHEN CreditTerms <= 90 THEN
Debt60Balance.Value + Dept90Balance.Value
ELSE
Debt90Balance.Value
END …Run Code Online (Sandbox Code Playgroud) 我在ASP.NET/C#中使用AutoCompleteExtender从我的数据库中检索数据,以及该字段的主键.选择名称后,即使在单击"提交"之前也会检索详细信息(名称/ pk),然后将其传递到隐藏字段.
我遇到的问题是,如果用户键入的名称不正确,则pk将不会重置,并且将保持与上一次搜索相同 - 这意味着当用户单击搜索时,将显示旧数据.
这是我的自动完成服务:
public string[] GetAutoComplete(string prefixText, int count)
{
string connection = ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString;
string sql = "SELECT * FROM SageAccount WHERE Name LIKE @prefixText AND Customer = 1 AND SageID IS NOT NULL";
SqlDataAdapter da = new SqlDataAdapter(sql, connection);
da.SelectCommand.Parameters.Add("@prefixText", SqlDbType.VarChar, 50).Value = prefixText + "%";
DataTable dt = new DataTable();
da.Fill(dt);
List<string> Names = new List<string>();
foreach (DataRow dr in dt.Rows)
{
Names.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(dr["Name"].ToString() + " (" + dr["SageID"].ToString() + ")", dr["ID"].ToString()));
}
return Names.ToArray();
} …Run Code Online (Sandbox Code Playgroud) 我在Quartz.NET中使用IJobListener来审核所有工作成功/失败.当作业失败时,我希望将异常带入IJobListener,以便也可以存储异常以供以后分析.
目前我的工作听众是这样的:
public virtual void JobWasExecuted(JobExecutionContext context, JobExecutionException x)
{
}
Run Code Online (Sandbox Code Playgroud)
但是,即使作业的Execute方法中的所有事务都包含在带有catch(异常x)的try中,然后我抛出,但是从不填充JobExecutionException的'x'.
有没有一种特殊的方法来实际获取作业监听器的异常?
谢谢
在查询中,我使用CASE表达式创建了许多字段.
我需要稍后在查询中引用这些字段,但似乎我无法使用其别名访问该字段 - CASE每次我想要引用其值时我都必须重复该表达式.
有没有一种简单的方法来访问这些字段?
我目前在SQL查询中有以下WHERE子句:
WHERE c.Town LIKE '%' + @Town + '%'
Run Code Online (Sandbox Code Playgroud)
我想做的是让第一个'%'可选 - 所以如果用户选择只按照刚开始给定文本的记录进行过滤,那么WHERE将是
WHERE c.Town LIKE @Town + '%'
Run Code Online (Sandbox Code Playgroud)
我认为最简单的方法就是CASE语句,但我似乎并不高兴,因为它看起来似乎是不正确的.我可以得到任何指示吗?这是我尝试的CASE声明:
WHERE c.Town LIKE (CASE WHEN @FilterOptions = 1 THEN '%' ELSE '') + @Town + '%'
Run Code Online (Sandbox Code Playgroud) c# ×4
sql ×3
asp.net ×2
t-sql ×2
ajax ×1
case ×1
if-statement ×1
linq ×1
linq-to-sql ×1
quartz.net ×1
string ×1
where ×1