我不断得到max recursion error这个查询.
起初我以为是因为返回null然后它会尝试匹配导致错误的空值,但是我重写了我的查询,因此不返回空值并且仍然会发生错误.
什么是重写此函数的最佳方法,以便不会发生错误
WITH EmployeeTree AS
(
SELECT
EMP_SRC_ID_NR Id, USR_ACV_DIR_ID_TE Uuid,
CASE Employees.APV_MGR_EMP_ID
WHEN Null THEN '0'
ELSE Employees.APV_MGR_EMP_ID
END as ApprovalManagerId
FROM
dbo.[tEmployees] as Employees WITH (NOLOCK)
WHERE
APV_MGR_EMP_ID = @Id
and Employees.APV_MGR_EMP_ID is not null
and Employees.EMP_SRC_ID_NR is not null
UNION ALL
SELECT
EMP_SRC_ID_NR Id, USR_ACV_DIR_ID_TE Uuid,
CASE Employees.UPS_ACP_EMP_NR
WHEN Null THEN '1'
ELSE Employees.UPS_ACP_EMP_NR
END as ApprovalManagerId
FROM
dbo.[tEmployees] as Employees WITH (NOLOCK)
WHERE
UPS_ACP_EMP_NR = @Id
and Employees.APV_MGR_EMP_ID is not null …Run Code Online (Sandbox Code Playgroud) 出于某种原因,我无法在gridview中格式化我的日期文本
<asp:BoundField DataField="deptdate" HeaderText="Departure Date" dataformatstring="{0:ddd, MM/d/yyyy}" htmlencode="False" SortExpression="deptdate" />
I still get this:
May 10 2011 12:00AM
Run Code Online (Sandbox Code Playgroud)
我没有在数据库中将我的字段设置为日期... DOY
我如何按照linq中的月份名称和年份进行订购,它目前按字母顺序排序,这会在显示报告时导致问题
我要找2011年11月,2011年12月,2012年1月,2012年2月
我主要担心的是结果MonthList,因为它是monthlist1和monthlist2之间的联合
感谢您的帮助和见解
var monthlist1 = data.
Select(x => new { wkdate = x.WKENDDATE }).
OrderBy(y => y.wkdate).
Select(m => new {
monthname = m.wkdate.ToString("MMM yyyy",
CultureInfo.CreateSpecificCulture("en-US"))
}).
Distinct().
ToList();
var monthlist2 =
data.Select(x => new { wkdate =
ExportHelper.getSplitEndDate(x.WKENDDATE).AddDays(1)})
.OrderBy(y => y.wkdate)
.Where(l => ExportHelper.isSplitWeek(l.wkdate.AddDays(-6), l.wkdate) == true)
.Select(m => new {
monthname = m.wkdate.ToString("MMM yyyy",
CultureInfo.CreateSpecificCulture("en-US"))
})
.Distinct()
.ToList();
var monthlist =
monthlist1.
Union(monthlist2).
Distinct().
OrderBy(m=> m.monthname).
ToList();
Run Code Online (Sandbox Code Playgroud) 我希望我Label使用这种{0:c2}格式; 但是,当我按照以下方式执行时似乎不起作用:
客户代码:
<asp:Label ID="Label4" runat="server" Text="Label" StringFormat="{}{0:c2}"></asp:Label>
Run Code Online (Sandbox Code Playgroud)
服务器代码(在页面加载时):
Dim dvSql7 As DataView = DirectCast(SqlDataSource7.Select(DataSourceSelectArguments.Empty), DataView)
For Each drvSql7 As DataRowView In dvSql7
Label4.Text = drvSql7("goal").ToString()
Next
Run Code Online (Sandbox Code Playgroud)
可能是什么问题?在此先感谢您的帮助.
我需要帮助找到今年的第二个星期三.这是我所做的,但似乎没有用.
DateTime baseDay = new DateTime(DateTime.Now.Year, 1, 5);
int secondWed = 5 + ((12 - (int)baseDay.DayOfWeek) % 7);
DateTime fullDate = new DateTime(DateTime.Now.Year, 1, secondWed);
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建我的第一个mvc类,并且我遇到了一个问题.我在我的主机帐户上使用共享数据库并创建了以下类
namespace MvcApplication2.Models
{
public class tUsers
{
public int UserID { get; set; }
public string Username { get; set; }
public string UserEmail { get; set; }
public string UserPassword { get; set; }
public int GroupId { get; set; }
}
public class tUsersDBContext : DbContext
{
public DbSet<tUsers> tUsers { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的连接字符串
<add name="DefaultConnection" connectionString="Data Source=gdfgdfgdfg;Initial Catalog=fsdf_fdsf;Persist Security Info=True;User ID=ddd_reddntal;Password=fgfggfdg" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
无法检索"mvcapplication2.models.tusers"的元数据,在模型生成期间检测到一个或多个验证错误:
实体类型用户没有防御密钥.
我的模型名称是否需要与我的表名完全匹配?
我正在尝试做类似的事情 我该如何改进这个SQL查询?
但是,在那里逻辑基本上我有一个ID列表,可能有多个与之关联的值,值为Yes,No或其他字符串.对于ID x,如果任何值为Yes,则x应为Yes,如果它们都为No,则它应为No,如果它们包含任何其他值但是yes和no,则显示该值.我只想每个ID返回1行,没有重复.
但是在我的逻辑中如果所有值都是肯定的,那么显示是,如果所有值都是否则显示否,如果它是是,否或其他任何显示组合的混合
DECLARE @tempTable table ( ID int, Val varchar(1) )
INSERT INTO @tempTable ( ID, Val ) VALUES ( 10, 'Y')
INSERT INTO @tempTable ( ID, Val ) VALUES ( 11, 'N')
INSERT INTO @tempTable ( ID, Val ) VALUES ( 11, 'N')
INSERT INTO @tempTable ( ID, Val ) VALUES ( 12, 'Y')
INSERT INTO @tempTable ( ID, Val ) VALUES ( 12, 'Y')
INSERT INTO @tempTable ( ID, Val ) VALUES ( 12, …Run Code Online (Sandbox Code Playgroud) 遗憾的是,我正在维护一个系统,该系统没有考虑到系统有数百万条记录后会发生什么.
我遇到的问题是代码当前编写的方式主要是GetList方法实际返回数据库中的每个记录,并且过滤是在getfull方法完成的.
我尝试通过将调整的id传递给getlist方法来改变它,但是当我尝试做的时候.所以(a => a.Id == journalid)我得到这个错误
无法将类型'System.Linq.IQueryable隐式转换为'System.Data.Objects.ObjectQuery
public Adjustment GetFull(int id) {
var result = GetList(id).FirstOrDefault(ja => ja.Id == id);
if(result == null) {
throw new InvalidOperationException(
String.Format(" Adjustment with Id={0} not found.", id)
);
}
return LoadFullActivities(result);
}
private IQueryable<Adjustment> GetList(int journalid) {
return GetList(journalid,"Original", "Activities",
"Original.Employee", "Original.Employee.EmployeeType",
"Original.Employee.WorkType", "Original.Employee.Department",
"Original.Activities", "Original.Status",
"Original.Approver", "Status");
}
private IQueryable<Adjustment> GetList(int journalid, params string[] includes) {
var tempResult = dataContext.AdjustmentSet;
foreach (var property in includes) {
tempResult = tempResult.Include(property).Where(a=>a.Id == journalid) …Run Code Online (Sandbox Code Playgroud) 我在object property doesn't support this method加载页面时尝试删除属性时收到错误.
但是我相信这种情况正在发生,因为在页面加载时从未添加disabled属性,因为在添加属性后我没有收到错误.
我的问题是如何在尝试删除属性之前检查属性是否存在.
谢谢
if (jQuery.inArray($("select option:selected").val(), Codes) == -1) {
$(serviceSelector).hide();
$(LocationSelector).hide();
$("#ctl00_ctl00_body_body_ddlPool option['value=ADD']").removeAttr("disabled");
$("#ctl00_ctl00_body_body_ddlPool option['value=ADM']").removeAttr("disabled");
} else {
$(serviceSelector).show();
$(LocationSelector).show();
$("#ctl00_ctl00_body_body_ddlPool option[value=ADM]").attr("disabled", "disabled");
$("#ctl00_ctl00_body_body_ddlPool option[value=ADD]").attr("disabled", "disabled");
}
//$find(AcId).set_contextKey($(this).val());
}).change();
Run Code Online (Sandbox Code Playgroud) asp.net ×5
c# ×5
linq ×2
sql ×2
vb.net ×2
asp.net-mvc ×1
attributes ×1
dataformat ×1
date ×1
datetime ×1
entity ×1
gridview ×1
jquery ×1
label ×1
t-sql ×1