使用dynamicsql创建storedprocedure时,任何人都可以提供帮助我收到以下错误,我也在添加我的代码。
创建过程getAreaRecords(@AreaID int)as begin set nocount on declare @sqlquery nvarchar(4000)declare @paramdefinitions nvarchar(2000)set @sqlquery ='select AreaID,IsDeleted from areatable where Islele< @AreaID'set @paramdefinitions ='@ AreaID int'exec sp_executesql @sqlquery,@ paramdefinitions end
错误陈述:消息111,级别15,状态1,过程getRecords,第7行'CREATE / ALTER PROCEDURE'必须是查询批次中的第一个语句。
答案 0 :(得分:2)
这不会给你正确的输出。
如果要将LogArray
的每个字符串项转换为字节数组,则必须循环遍历LogArray
并逐个转换每个项目。
如果您不想使用循环,可以使用lambda表达式
表示数组
string[] LogArray = { SyncKey, SyncType, StartDateTime, EndDateTime, noOfFiles, "null", Status, StatusMessage };
byte[][] LogArrayBytes = LogArray.Select(s => Encoding.ASCII.GetBytes(s)).ToList().ToArray();
OR列表
string[] LogArray = { SyncKey, SyncType, StartDateTime, EndDateTime, noOfFiles, "null", Status, StatusMessage };
List<byte[]> LogArrayList = LogArray.Select(s => Encoding.ASCII.GetBytes(s)).ToList();
希望这会有所帮助...
答案 1 :(得分:0)
如果要使用ASCII编码将LogArray
中的每个字符串转换为字节数组,您将获得一个字节数组数组;以下是如何做到这一点:
byte[][] result = LogArray.Select(s => Encoding.ASCII.GetBytes(s)).ToArray();
反向操作:
string[] LogArray = result.Select(ba => Encoding.ASCII.GetString(ba)).ToArray();