ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
通过调用我存储过程,但是需要对他的存储过程进行调整。 --********************************************** --如何把屏幕折成一屏 --declare @str varchar(200),@lensize integer,@screen1 varchar(50),@screen2 varchar(50),@screen3 varchar(50),@screen4 varchar(50) --select @str='你好'+char(13)+'ABC中国你好,你是中国人',@lensize=16 --exec PSS_GetKKScreen @str,@lensize,@screen1 output,@screen2 output,@screen3 out,@screen4 out --select @screen1,@screen2,@screen3,@screen4 --********************************************** CREATE proc PSS_GetKKScreen @Str varchar(200)='ABC中国你好,你是中国人', @LenSize tinyint=16, @Screen1 varchar(50)='' output, @Screen2 varchar(50)='' output, @screen3 varchar(50)='' output, @Screen4 varchar(50)='' output as set nocount on select @Screen1='',@Screen2='',@screen3='',@Screen4='' declare @i integer,@j integer,@Size integer,@CurRow integer,@strr varchar(2) select @i=1,@CurRow=1,@Size=0,@j=0 while @i<=len(@str) begin select @strr=SUBSTRING(@Str,@i,1) set @i=@i+len(@Strr) if @currow=1 begin if @strr=char(13) select @CurRow=2 else if DATALENGTH(@Screen1)+datalength(@strr)>@LenSize select @CurRow=2,@Screen2=@Strr else select @Screen1=@Screen1+@strr --select @Screen1,DATALENGTH(@Screen1),datalength(@strr),datalength(@Strr),@i end else if @currow=2 begin if @strr=char(13) select @CurRow=3 else if DATALENGTH(@Screen2)+datalength(@strr)>@LenSize select @CurRow=3,@Screen3=@Strr else select @Screen2=@Screen2+@strr --select @Screen2,DATALENGTH(@Screen2),datalength(@strr),datalength(@Strr),@i end else if @currow=3 begin if @strr=char(13) select @CurRow=4 else if DATALENGTH(@Screen3)+datalength(@strr)>@LenSize select @CurRow=4,@Screen4=@Strr else select @Screen3=@Screen3+@strr end else if @currow=4 begin if DATALENGTH(@Screen4)+datalength(@strr)>@LenSize goto _Exit else select @Screen4=@Screen4+@strr end --select @i,@strr end --@i=DATALENGTH(@str) --select @i,len(@Str) --select substring(@str,1,1),,substring(@str,2,1),substring(@str,3,1),substring(@str,4,1) _Exit: --select @Screen1,@Screen2,@screen3,@Screen4 return 0 set nocount off go -- ============================================= -- Author: <汪进> -- Create date: <2013-05-12> -- Description: <上传设备数据> -- 请注意,添加了参数@LockKeyPosition,键盘锁定位置,用于调用锁定设备扩展接口 -- ============================================= alter PROCEDURE [dbo].[UploadDrvData] @IsNewData bit=0 , --输入参数 是否新数据 =1新数据 =0历史数据 @CSN varchar(50), --输入参数 流水号 @GID int, --输入参数 控制器ID/组ID @DID int, --输入参数 设备编号 @DataType int, --输入参数 数据类型 @SerialDate varchar(50), --输入参数 刷卡时间 @Info varchar(400), --输入参数 刷卡内容 @IsReturnDrvCmd bit=1 OUTPUT, --输出参数 是否有返回设备指令 =0无返回 =1有设备指令返回 @IsDsp1 int OUTPUT, --第一行是否显示 :1为显示 其他数值为不显示 @IsDsp2 int OUTPUT, --第二行是否显示: 1为显示 其他数值为不显示 @IsDsp3 int OUTPUT, --第三行是否显示: 1为显示 其他数值为不显示 @IsDsp4 int OUTPUT, --第四行是否显示: 1为显示 其他数值为不显示 @Dsp1 nvarchar(50) OUTPUT, --第一行显示内容 @Dsp2 nvarchar(50) OUTPUT, --第二行显示内容 @Dsp3 nvarchar(50) OUTPUT, --第三行显示内容 @Dsp4 nvarchar(50) OUTPUT, --第四行显示内容 @SndNum int OUTPUT, --发声次数0为不发声 @KeyStatus int OUTPUT, --键盘状态 0键盘开启,1键盘关闭 @Relay int OUTPUT, --继电器工作状态0继电器开启 1继电器关闭 @Soundval int OUTPUT, --发声间隔 1-250毫秒 @tempstring varchar(8) OUTPUT, --当前时间 @IsVoice bit OUTPUT, --是否语音 2.1版本新增参数 @VoiceContent nvarchar(50) OUTPUT, --语音内容 2.1版本新增参数 @IsValidFinger bit OUTPUT, --是否验正指纹 2.2版本新增参数 @FingerNo int OUTPUT, --指纹编号 2.2版本新增参数 @LockKeyPosition int=-1 OUTPUT, --键盘锁定位置,<0参数值不起作用 2.3版本新增参数 @BgConNum int=0 OUTPUT, --背光闪烁,闪烁次数 2.4版本新增参数 @BgConDelay int=0 OUTPUT, --背光闪烁,闪烁间隔 2.4版本新增参数 @ReaderState int=0 OUTPUT, --读头状态 1:读卡,2:禁止读卡 2.4版本新增参数 @ExtCmd varchar(32) OUTPUT --扩展指令 扩展命令输出指令 16字节,用32个16进制字符表示 2.4版本新增参数 AS BEGIN select @LockKeyPosition=-1 --InsertNew命令的相关参数可以参照文档【工位机中间件需求】安装包中已带 --用户可自定义操作 INSERT INTO CardInfo(CSN,GID,DID,DataType,SerialDate,Info)VALUES(@CSN,@GID,@DID,@DataType,@SerialDate,@Info) --初始化输出参数值 SELECT @IsVoice=0,@VoiceContent='' select @IsValidFinger=0,@FingerNo=0 SELECT @IsReturnDrvCmd=0 SELECT @IsDsp1=0,@IsDsp2=0,@IsDsp3=0,@IsDsp4=0 SELECT @tempstring=convert(varchar(8),getdate(),108) SELECT @Dsp1='',@Dsp2='',@Dsp3='',@Dsp4='' SELECT @SndNum=0,@KeyStatus=0,@Relay=0,@Soundval=0 SELECT @BgConNum=0,@BgConDelay=0,@ReaderState=0,@ExtCmd='' IF (@IsNewData=1) BEGIN set @IsReturnDrvCmd=1 --设置为 有返回设备指令 set @IsDsp1=1 set @IsDsp2=1 set @IsDsp3=1 set @IsDsp4=1 set @Dsp1='测试1 ' + @tempstring set @Dsp2='测试2 '+@tempstring set @Dsp3='测试3 '+ @SerialDate set @Dsp4='测试4 '+@tempstring set @SndNum=1 set @KeyStatus=5 set @Relay=5 set @Soundval=200 declare @str varchar(200),@CompanyId bigint,@TerminalNo bigint,@date datetime select @str='AAAAAAABBBBB'+char(13)+'AAA',@TerminalNo=@Gid*1000+@Did,@CompanyId=2020051121315254377,@date=GETDATE(), @DataType=case when @DataType=1 then 83 else @DataType end if @Datatype=2 select @DataType=82,@Info='7' else if @DataType=3 and @Info<>@SerialDate select @dataType=81,@info=REPLACE(@info,'.',' ') else if @Datatype=3 select @Datatype=82,@Info='13' else if @Datatype=4 select @DataType=82,@info='27' else if @Datatype=5 select @DataType=82,@info='2' else if @Datatype=6 select @DataType=82,@info='37' else if @Datatype=7 select @DataType=82,@info='39' select @CompanyId,@GID,@TerminalNo,@DataType,@info,@serialDate exec Kingzhizhu.dbo.PCK_WorkFlow @CompanyId,@GID,@TerminalNo,@DataType,@info,@date,1,@Str output,0,0 exec PSS_GetKKScreen @str,16,@Dsp1 output,@Dsp2 output,@Dsp3 out,@Dsp4 out END END