2013-10-17 117 views
-3

任何人都可以在使用dynamicsql創建storedprocedure時提供幫助,我正在獲取下面的錯誤,並且我也添加了我的代碼。如何將字符串數組轉換爲字節數組在c#中.net

創建過程getAreaRecords(@AreaID INT)作爲開始SET NOCOUNT上聲明@sqlquery爲nvarchar(4000)聲明@paramdefinitions爲nvarchar(2000)設置@ sqlquery的= '選擇areaID表示,從areatable其中請將isDeleted請將isDeleted < @AreaID' 設置@ paramdefinitions = '@ areaID表示INT' EXEC sp_executesql的@ sqlquery的,@ paramdefinitions結束

錯誤語句:消息111,級別15,狀態1,過程getRecords,行7 'CREATE/ALTER PROCEDURE' 必須在一個查詢中的第一個語句批量。

+2

只有這樣,才能回答是否是「正確」與否是要知道自己想要做什麼,這是不一點都不清楚。上面的代碼將使用ASCII編碼將該數組的第8個字符串(僅限該字符串)編碼爲字節。由於數組只有7個元素,索引部分將失敗。爲什麼你需要將它轉換爲字節數組?如果我們知道你爲什麼想這樣做,我們可能會更有能力幫助你。 –

+5

如果您更努力地編寫問題,您將有更好的機會獲得答案。 –

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

或爲列表

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

希望這幫助...

+0

你可以告訴如何將字符串數組轉換爲無循環的對象在c#中,我添加上面的字符串數組。 – user2852433

+0

@ user2852433你需要將每個字符串轉換爲一個字節數組......對嗎? – Virus

+0

感謝您的快速回放,是的,我需要轉換字節數組。 – user2852433

0

如果你想將LogArray中的每個字符串轉換爲字節arr使用ASCII編碼,您將獲得一組字節數組;這裏是如何做到這一點:

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

反向操作:

string[] LogArray = result.Select(ba => Encoding.ASCII.GetString(ba)).ToArray(); 
+0

感謝您給予重播,其工作正常。 – user2852433

+0

任何一個可以幫助如何將字符串數組轉換爲無循環的對象在C#中,我添加上面的字符串數組 – user2852433

+0

感謝您的replay.i將嘗試使用您的代碼。 – user2852433

相關問題