getRepos(org:string):Observable<any>{
let params = new HttpParams().set('org',org);
return this.http.get(
'https://us-central1-deployanywhere.cloudfunctions.net/github/repos',{params}
).map((ob:any)=>{
return ob.data.map((o:any)=>{
return {name:o.name,id:o.id}
})
})
}
错误:消息8114,级别16,状态5,行1 将数据类型varchar转换为数字时出错。
我不确定此错误是否与日期(DogDOB)有关,或者是否定义为1
答案 0 :(得分:2)
您的查询存在以下几个问题:
DogID
列没有默认值,因此您必须将其定义为auto_increment
或提供一个。DogWeight
定义为DECIMAL(3, 2)
,因此您无法提供字符串。它还被定义为在小数点前最多有一位数,因此80
已经超出范围。您可以提供最多9.99
。Fixed
定义为BIT
,因此您只能提供最多64
的数值。DogDOB
列定义为DATE
,其格式为YYYY-MM-DD
。虽然这不会导致错误,但1/1/11
肯定不会达到预期的效果。工作查询可能如下所示:
insert into DOG
(DogID, DogName, DogBreed, DogDOB, DogWeight, Fixed)
values
(1, 'Lasie', 'Sheppard', '2011/1/1', 8.21, 1);
请参阅此sqlfiddle。
答案 1 :(得分:1)
根据您对表结构的评论:
CREATE TABLE Dog (
DogID INT NOT NULL,
DogName CHAR(20) NOT NULL,
DogBreed CHAR(20) NOT NULL,
DogDOB DATE NOT NULL,
DogWeight Decimal(3,2),
Fixed BIT NOT NULL
)
你的问题是80磅,因为它有&#39; lbs&#39;在其中,并期望只有一个数值。
insert into DOG
(DogName,DogBreed,DogDOB,DogWeight,Fixed)
Values ('Lasie', 'Sheppard', '1/1/11', 80,1);
另一个问题是80
对decimal(3,2)
来说太大了,只支持9.99
。因此,在这种情况下你必须使用decimal(4,2)
。