每当我尝试通过表单将数据提交到此数据库时,我都会抛出此异常: -
例外
当IDENTITY_INSERT设置为OFF时,无法在表'ClientDetails'中为identity列插入显式值.
但是,表单没有字段,因此数据可以进入标识列(PK),因此我不知道为什么会出现这种情况.
目前我正在使用标准的asp.net mvc提交按钮,但我最终将它链接到一个jquery对话框按钮
ClientNo列是异常所指的列,具有以下属性
ClientNo有900以后的数据等
当客户端表单没有在表单中输入数据时,也会抛出此异常
它抛出在DataCOntext.SubmitChanges()方法上
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create1(ClientDetail client)
{
if(ModelState.IsValid)
{
client = new ClientDetail();
UpdateModel(client);
//Debug Code
System.Diagnostics.Debug.WriteLine("AddNewClient Create1");
repo.AddNewClient(client);
//Debug Code
System.Diagnostics.Debug.WriteLine("Save Create1");
// System.Data.SqlClient.SqlException thrown at this line
repo.Save();
//Debug Code - never reached
System.Diagnostics.Debug.WriteLine("Saved Changes");
// return RedirectToAction("Details", new { id = client.ClientNo });
}
return View(client); …Run Code Online (Sandbox Code Playgroud) 我的数据仓库中有一些实体:
人 - 具有属性personId,dateFrom,dateTo和其他可以更改的人,例如姓氏,出生日期等 - 慢慢变化的维度
文档 - documentId,数字,类型
地址 - addressId,city,street,house,flat
(人与文件)之间的关系是一对多,(人与地址)是多对多的.
我的目标是创建历史事实表,可以回答以下问题:
2,居民的定义地址在规定的时间间隔内有什么历史?
这不仅适用于DW的设计,但我认为这是DW设计中最难的事情.
例如,布朗小姐的personId = 1,自01/01/2005至02/02/2010以来,documentId = 1且documentId = 2的文档已经存在于addressId = 1的地址,然后移至addressId = 2从2010年2月2日开始生活到当前日期(NULL?).但她自2006年5月4日起将姓氏改为格林夫人,自2007年7月6日起,她的第一份文件记录为documentId = 1至documentId = 3.带有personId = 2的Black先生,自2010年2月2日至今日,documentId = 4一直存在于addressId = 1.
对于问题2的查询的预期结果,其中addressId = 1,时间间隔是从01/01/2000到现在,必须如下:
行:
last_name="Brown", documentId=1, dateFrom=01/01/2005, dateTo=04/04/2006
last_name="Brown", documentId=2, dateFrom=01/01/2005, dateTo=04/04/2006
last_name="Green", documentId=1, dateFrom=04/05/2006, dateTo=06/06/2007
last_name="Green", documentId=2, dateFrom=04/05/2006, dateTo=06/06/2007
last_name="Green", documentId=2, dateFrom=06/07/2007, dateTo=02/01/2010
last_name="Green", documentId=3, dateFrom=06/07/2007, dateTo=02/01/2010
last_name="Black", documentId=4, dateFrom=02/03/2010, dateTo=NULL
Run Code Online (Sandbox Code Playgroud)
我有一个想法,用复合键(personId,documentId,addressId,dateFrom)创建事实表,但我不知道如何加载此表,然后使用此结构获得预期的结果.
我会很高兴得到任何帮助!
col1 col2
A bear
A dog
A cat
B bear
B dog
B cat
C dog
C cat
D bear
D dog
D cat
E bear
E dog
E cat
F dog
F cat
Run Code Online (Sandbox Code Playgroud)
如果我想选择至少有一行的所有col1值col2 = 'bear',我可以这样做:
SELECT col1
FROM mytable
WHERE col1 IN ('A','B','C')
GROUP BY col1
HAVING col2 = 'bear'
Run Code Online (Sandbox Code Playgroud)
这将返回A和B.
但我想只选择col1中没有行的值 col2 = 'bear'
我在想NOT HAVING,但这似乎不起作用.
有任何想法吗?谢谢!
我需要创建一个包含日期范围的临时表,以及一些包含占位符值(0)以供将来使用的列.我需要的日期是$ startDate和$ endDate之间每个月的第一天,这些变量可能相隔数年.
我原来的sql语句看起来像这样:
select dbo.FirstOfMonth(InsertDate) as Month, 0 as Trials, 0 as Sales
into #dates
from customer
group by dbo.FirstOfMonth(InsertDate)
Run Code Online (Sandbox Code Playgroud)
"FirstOfMonth"是一个用户定义的函数,它完全按照它所说的做,返回当月的第一天所提供的日期,时间恰好是午夜.
这几乎完全是我所需要的,直到我发现我的日期偶尔会出现间隙,我有几个月没有记录插入日期.由于我的结果仍然缺少几个月,我需要一个不同的方法.
我已经向存储过程添加了以下声明,预计它们需要我需要的日期范围...
declare $startDate set $startDate = select min(InsertDate) from customer
declare $endDate set $endDate = select max(InsertDate) from customer
Run Code Online (Sandbox Code Playgroud)
......但我不知道该怎么做.
我知道这个问题与这个问题类似,但是坦率地说,这个答案已经过去了(我不经常使用SQL,当我这样做时,它往往是在旧版本的SQL Server上)并且有一些小问题差点让我失望.
我需要查看我的c#程序使用的Access数据库中是否存在表.知道有其他数据库的SQL命令将返回表列表.Access/Jet数据库是否有这样的命令?
好.请耐心等待,因为我需要提供大量的背景细节才能对我的问题征求合理的答案.
我有一个网站,允许您每日选股.它的工作方式是,提示您在当天面临关闭的公司之间进行选择.例如,GE与IBM.您可以选择两种类型:性能(哪种股票表现更好?)和总成交量(合并后的股票交易量是否高于或低于X?).你每天获得100美元的虚拟美元来进行选择.
最终,我们的目标是跟踪哪个用户在以下时间段内以不同类别(下文解释)的每次选择赚取最多钱:5天,15天,30天,90天,180天,1年,全部 - 时间.计算每次选择的金额非常简单.这是总赚钱(或丢失)/选秀数量.
现在,用户选择的每个公司都属于分类层次结构.通常,分类层次结构如下所示:
分部 - >主要集团 - >产业集团 - >分类 - >公司
这里有些例子:
mysql sql ruby-on-rails aggregation polymorphic-associations
有人能告诉我如何在SQL中追加?我整天都在试图解决这个问题.这是我到目前为止:
update table1
set field1 = field1 + '123456'
where field2 = '12'
Run Code Online (Sandbox Code Playgroud)
对不起,我忘了提到我在声明中更新了多个字段.
我有几个问题,详情如下.我希望能够运行一个返回两个计数的SQL查询,这可能吗?
1.
select nvl(count(rowid), 0) from tablename where OPP = 'FOO' and date = 'BAZ';
Run Code Online (Sandbox Code Playgroud)
2.
select nvl(count(rowid), 0) from tablename where OPP = 'BAR' and date = 'BAZ';
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只在搜索中找到了MSSQL特定的解决方案.
我有这样的测试表
CREATE TABLE #temp (
rid INT IDENTITY (1, 1) NOT NULL,
val INT NULL,
CONSTRAINT pk_temp_rid PRIMARY KEY (rid)
);
Run Code Online (Sandbox Code Playgroud)
SQL Server中有哪些不同的方法可以将随机整数插入此表中(例如,对于1000行).循环,交叉连接还是什么?
我尝试了这个,但结果不正确
DECLARE @val AS INT = 1;
WHILE @val <= 1000
BEGIN
INSERT #temp (val)
SELECT RAND(@val);
SET @val = @val + 1;
END
SELECT *
FROM #temp;
Run Code Online (Sandbox Code Playgroud) 考虑以下sql
一个名为myProc的存储过程,它返回两个结果集.结果集1返回column1,column2.结果集2返回第3列第4列第5列.
以下sql将失败,因为临时表仅定义了2个int列.
Create Table #temp1(
Column1 int,
Column2 int)
insert into #temp1 exec myProc
Run Code Online (Sandbox Code Playgroud)
我的问题是是否可以将第一个结果集插入#temp1?
sql ×10
t-sql ×4
c# ×2
.net ×1
aggregation ×1
asp.net ×1
database ×1
datahistory ×1
fact-table ×1
group-by ×1
jet ×1
linq-to-sql ×1
ms-access ×1
mysql ×1
oracle ×1
sql-server ×1
sybase ×1