-3

任何人都可以在使用 dynamicsql 创建存储过程时提供帮助我收到以下错误,我也在添加我的代码。

创建过程 getAreaRecords (@AreaID int) as begin set nocount on declare @sqlquery nvarchar(4000) declare @paramdefinitions nvarchar(2000) set @sqlquery='select AreaID,IsDeleted from areatable where IsDeleted<@AreaID' set @paramdefinitions='@ AreaID int' exec sp_executesql @sqlquery,@paramdefinitions end

错误语句:消息 111,级别 15,状态 1,过程 getRecords,第 7 行“CREATE/ALTER PROCEDURE”必须是查询批处理中的第一个语句。

4

2 回答 2

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

或列表

string[] LogArray = { SyncKey, SyncType, StartDateTime, EndDateTime, noOfFiles, "null", Status, StatusMessage };
List<byte[]> LogArrayList = LogArray.Select(s => Encoding.ASCII.GetBytes(s)).ToList();

希望这可以帮助...

于 2013-10-17T11:36:20.477 回答
0

如果您想LogArray使用 ASCII 编码将每个字符串转换为字节数组,您将获得一个字节数组数组;这是怎么做的:

byte[][] result = LogArray.Select(s => Encoding.ASCII.GetBytes(s)).ToArray();

反向操作:

string[] LogArray = result.Select(ba => Encoding.ASCII.GetString(ba)).ToArray();
于 2013-10-17T11:38:02.280 回答