如何在c#.net中将字符串数组转换为字节数组

时间:2013-10-17 11:29:33

标签: sql-server-2008

使用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'必须是查询批次中的第一个语句。

2 个答案:

答案 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();