ALTER PROCEDURE [dbo].[sp_CreateProcess]
@type varchar(50),--0
@HospitalID varchar(50),--1
@PatientID varchar(50) ,--2
@PreAuthorization varchar(50) ,--3
@Status varchar(50) ,--4
@Amount varchar(50) ,--5
@AmtWords varchar(500) ,--6
@AppTrt varchar(50) ,--7
@TypeTrt varchar(50) ,--8
@AilName varchar(100) ,--9
@AilCode varchar(50) ,--10
@RoomType varchar(50) ,--11
@RoomRent varchar(50) ,--12
@Signature varchar(50) ,--13
@ProcessBy varchar(50) ,--14
@CorpScheme varchar(50) ,--15
@InsuranceDiv varchar(50) ,--16
@DrRmk varchar(50) ,--17
@Created_Date datetime ,--18
@Modified_Date datetime ,--19
@Created_By varchar(50) ,--20
@Modified_By varchar(50) ,--21
@CoRmk varchar(100) ,--22
@Remark varchar(1500) ,--23
@CreatedBy varchar(50) ,--24
@ModifiedBy varchar(50) ,--25
@CreatedDate datetime ,--26
@ModifiedDate datetime, --27
@UserRole int --28
AS
BEGIN
if @type = 'insertProcess'
begin
insert into Patient_Process_Status values
(
@HospitalID,
@PatientID,
@PreAuthorization,
@Status,
@AilName,
@AilCode,
@RoomType,
@RoomRent,
@Signature,
@ProcessBy,
@CorpScheme,
@InsuranceDiv,
@DrRmk,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP,
@Created_By,
@Modified_By
)
update dbo.UserCommunication set RoleID=@UserRole
where PatientID=@PatientID and HospitalID=@HospitalID
update PD_Patients set LastUpdatedRole=@UserRole
where PatientID=@PatientID and HospitalID=@HospitalID
insert into PostEnhancetbl values
(
@PatientID,
@HospitalID,
@Amount,
@AmtWords,
@AppTrt,
@TypeTrt ,
@CoRmk,
@Remark,
@CreatedBy,
@ModifiedBy,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP
)
end
if @type='getTPADetails'
begin
select PS.*,LastUpdatedRole from Patient_Process_Status PS
left join PD_Patients PD on PS.PatientID=PD.PatientID and PS.HospitalID=PD.HospitalID
where PS.PatientID=@PatientID and PS.HospitalID=@HospitalID
end
END
这是我得到的错误:
**
上面的代码是我的SQL Server 2014存储过程,我希望将两个表连接起来并在2个表中插入表单值。
请帮我解决问题,让我知道为什么我面临字符串到日期时间转换的错误
答案 0 :(得分:0)
这里的问题是您将string
类型传递给datetime
参数,并且无法将该字符串转换为日期时间。
检查参数并确保传递日期时间格式参数值,或者可以在SQL Server端使用CONVERT
将参数转换为正确且有效的datetime
格式。
您可以尝试使用DateTime variableName
代替字符串variableName
。
希望这有帮助。