以下连接适用于Access,但我需要添加第四个连接.
FROM ((Agents
LEFT JOIN Resignation_Pool ON Agents.PF = Resignation_Pool.PF)
LEFT JOIN Teams ON Agents.Team = Teams.ID)
LEFT JOIN Skills ON Agents.PF = Skills.PF
Run Code Online (Sandbox Code Playgroud)
当我添加第四个连接时,它不起作用.我知道Access的括号很奇怪,但我认为我有它们所属的地方.查询只是永远不运行(它应该不会长时间运行),我最终取消它.有什么建议?
FROM (((Agents
LEFT JOIN Resignation_Pool ON Agents.PF = Resignation_Pool.PF)
LEFT JOIN Teams ON Agents.Team = Teams.ID)
LEFT JOIN Skills ON Agents.PF = Skills.PF)
LEFT JOIN OneMore ON Agents.OM = OneMore.OM
Run Code Online (Sandbox Code Playgroud)
这是有效的代码 - 我的实际查询而不是我发现的类似的查询.
SELECT DISTINCT A02.PID, A02.PS, A02.PN, A02.PM, C01.RC, C01.IC, C01.RD
INTO AutoCR
FROM ((02_CorrectResults A02
LEFT OUTER JOIN dbo_pol_PGI C01
ON (A02.PID = …Run Code Online (Sandbox Code Playgroud) 我有一个DataTable对象dTable,其中所有DataColumn数据类型都是字符串或双精度型.列中的某些数字不存在.ie = null.现在我有下面的代码找到平均值,当有值时,它运行良好.
var sum = dTable.AsEnumerable().Average(x =>
{
if (dTable.Columns[col]!=null)
{
return x.Field<double>(dTable.Columns[col].ColumnName);
}
else
{
return ???;
};
});
Run Code Online (Sandbox Code Playgroud)
我的问题是当不满足跳过那个x时,我该返回什么?当我在dTable中遇到一个空单元格时,它似乎不知道该怎么做.
或者,如果有一条完全不同的道路我应该走下去......请尽可能......
我想让我的应用程序计算折扣价。这是我找到折扣价的方法,但是我有一个小问题(逻辑问题):
private void UpdateDiscount(object sender, EventArgs e)
{
decimal actualPrice = 0;
decimal discount = 0;
int calculateDiscount = 0;
int totalDiscount = 0;
int afterDiscount = 0;
int totalAfterDiscount = 0;
int total = 0;
if (numericTextBox1.TextLength == 6)
{
this.numericUpDown2.Enabled = true;
discount = Convert.ToInt32(this.numericUpDown2.Value);
calculateDiscount = Convert.ToInt32(discount / 100);
totalDiscount = calculateDiscount;
if (!string.IsNullOrEmpty(this.numericTextBox3.Text.ToString()))
{
actualPrice = Convert.ToDecimal(this.numericTextBox3.Text);
}
else
{
numericTextBox3.Text = "";
}
afterDiscount = Convert.ToInt32(actualPrice * totalDiscount);
totalAfterDiscount = Convert.ToInt32(actualPrice);
total = Convert.ToInt32(totalAfterDiscount - …Run Code Online (Sandbox Code Playgroud) 我正在尝试将列从一个工作表复制到另一个工作表.我正在使用的代码是一个录制的宏,它可以正常工作,直到我将它连接到一个按钮.当我这样做时,它会给出"运行时错误'1004':选择范围类的方法失败"
这是代码,我可以看到它没有错.当我点击调试时,突出显示第二行.
Sheets("Count").Select
Columns("C:C").Select
Selection.Copy
Sheets("Add Invintory").Select
Range("b1").Select
ActiveSheet.Paste
Sheets("Count").Select
Sheets("Count").Columns("A:A").Select
Columns("A:A").Select
Selection.Copy
Sheets("Add Invintory").Select
Range("A1").Select
ActiveSheet.Paste
Run Code Online (Sandbox Code Playgroud)
我不知道问题是什么.请帮忙
我想在"A1"中插入一些文本"ABC",并在"B1"中插入以下单元格if.但是我只插入第一个条目"ABC",然后输入错误FormulaR1C2 "Object doesn't support this property or method".我不确定我R1C2是否正确使用.我假设它代表第1行第2列,有人可以帮助我.
Dim Excel_App As Object
Dim strExcel As String
Set Excel_App = CreateObject("Excel.Application")
Excel_App.Visible = True
Excel_App.Workbooks.Add
With Excel_App
.Range("A:B").EntireRow.ColumnWidth = 25
.Range("A2").EntireRow.Font.FontStyle = "Bold"
.ActiveCell.FormulaR1C1 = "ABC"
strExcel = "=IF(A1 = """"," & """EMPTY""" & "," & """FILLED""" & ") "
.ActiveCell.FormulaR1C2 = strExcel
End With
Run Code Online (Sandbox Code Playgroud) 我喜欢在where子句中使用"IF"条件.从各种线程,我理解其中一个选项是CASE表达式,但我无法弄清楚.
示例代码:
select * from sampleTable
where
If @taxtype = 'P' then
(taxtype = 'P' or (taxtype = 'E' and code in ('MER','SER')))
Else
(taxtype = 'E' and code not in ('MER','SER'))
End If
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.
谢谢!
我在 lambda 中收到警告,但前面的语句是这样,不,值类型不能为 null。我如何告诉 Visual Studio 不要标记这些误报?Nullable value type may be null.Where(o => o.HasValue)
例如:
var list = new List<int?> { 1, 2, null, 3 };
var query = list
.Where(o => o.HasValue)
.Select(o => o.Value);
Run Code Online (Sandbox Code Playgroud) 我在网上发现了这篇文章,并认为我会尝试将空字符串样式方法应用于我的excel范围值.有时它有一个值,有时它没有,显然double不喜欢空值.
这是我的小片段.
double valTotal = (rngTotal.Value != null ? 1 : 0);
Run Code Online (Sandbox Code Playgroud)
我的问题是我用上面的代码做了什么?它看起来像一行中的if语句,其中"1"是"then"而"0"是"else".是对的吗?最重要的是,这个语法的名称是什么,所以我可以找到更多相关信息?
我有这个存储过程.我的问题是当代理表中不存在记录时不返回任何内容.我想说,即使代理商中没有记录仍然返回,所以我已经为代理商添加了左外部联接,并且_Agency = IsNull(U._Agency,'')在顶部.但仍然没有回报价值.当我拿A._IsActive = 1时,它返回值.在最后一行.我应该怎么做id A._IsActive没有值仍然返回.我尝试了同样的ISNull但没有工作.
declare @Username VARCHAR(50)
, @Password VARCHAR(50)
set @Username = 'admin'
set @Password = 'password2'
SELECT U.Username
,_Partner = u.AID
,_Agency = IsNull(U._Agency,'')
, UR._Role
,R.Name
FROM [PartnerPortal].[dbo].[User] AS U
left outer JOIN [PartnerPortal].[dbo].Agency AS A
ON U._Agency = A._IdxIdentity
JOIN [PartnerPortal].[dbo].User_Role AS UR
ON U._IdxIdentity = UR._User
JOIN [PartnerPortal].[dbo].[Role] AS R
ON UR._Role = R._IdxIdentity
WHERE (Username = @Username)
AND [Password] =@Password
AND U._IsActive = 1
AND A._IsActive = 1
AND UR._IsActive = 1 …Run Code Online (Sandbox Code Playgroud) 我试图使用实体框架将记录插入表中.我制作了我的数据库(mdf文件),从数据库(edmx)制作了一个模型,现在我正在尝试插入一条记录.
Users Brad = new Users
{
UserInitials="BCH",
UserName="Brad"
};
using (WeighProgramDatabaseEntities wDB = new WeighProgramDatabaseEntities())
{
wDB.Users.AddObject(Brad);
int res = wDB.SaveChanges(System.Data.Objects.SaveOptions.AcceptAllChangesAfterSave);
List<Users> lwt = wDB.Users.ToList(); //call to look at the inserted data
}
Run Code Online (Sandbox Code Playgroud)
当我按照这个程序看来一切正常.我wDB.Users.ToList();返回一条记录,这是我刚插入的记录.但是,如果我再次运行我的代码,删除插入的东西,只是调用查询(只留下)List<Users> lwt = wDB.Users.ToList();我的查询不返回任何记录.我应该做些什么来让我的更改持续存在?为什么我的记录"消失"?
WeighProgramDatabaseEntities继承自ObjectContext.
这是我第一次尝试使用EF的东西,所以我的一些措辞可能不正确,我可能没有包含一些重要内容 - 让我知道.
编辑:
我认为我的问题是我的插入/更新/删除功能没有映射.但我不知道如何为他们创建存储过程映射到...
EDIT2:
好的,phew,我想出了存储过程映射.现在我有一个INSERT映射,我称AddObject它实际上将被插入.
比我想象的要复杂一点.例如,如果我右键单击数据库资源管理器中的表并选择新查询,它会将我带到一个很棒的查询设计器窗口,让我创建插入,选择,更新......但是没有保存按钮!它是灰色的.我需要从另一个路径写它们,不让我通过GUI生成插入/删除/更新.我猜这是好的,因为它们不是很多文字,但仍然有点麻烦.
我应该发送一个包含可变内容的盒子并在数据库中跟踪它.我的所有项目(框的内容)都是不同的类型,并且需要不同的表来跟踪它们各自的信息,尽管每个项目类型具有相同的长度序列号(即PK是相同的数据类型).我有一张Boxes表.
所以每个项目都有一个表(~7个表)和盒子表.我想创建一个BoxContents表.我尝试用两列创建一个多对多关系中间表:一个用于BoxID和一个用于ItemBarcode,其中BoxID是Boxes表格中PK的FK,并且ItemBarcode是项目表中每个PK的FK(即I试图将多个表链接到同一列).不出所料,这不起作用.我尝试插入一个项目,除了其中一个ItemBarcode关系外,其他所有人都违反了FK约束.
如何构建我的关系以将多种类型的项链接到一个表中的一个框?这是合乎逻辑的方法吗?你需要更多的信息?
c# ×5
sql ×3
excel ×2
excel-vba ×2
ms-access ×2
vba ×2
.net ×1
excel-2003 ×1
ienumerable ×1
linq ×1
postgresql ×1
winforms ×1