का उपयोग कर हम ग # का उपयोग कर और BinaryFormatter.We बाइट सरणी में बदल जाएंगे और VARBINARY प्रकार का उपयोग कर एक डेटाबेस में दुकान स्ट्रिंग मान तो हम डेटाबेसConvert बाइट सरणी TransactSQL
public static byte[] ToBytes(stringvalue)
{
if (value == null)
return null;
byte[] inMemoryBytes;
using (MemoryStream inMemoryData = new MemoryStream())
{
new BinaryFormatter().Serialize(inMemoryData, value);
inMemoryBytes = inMemoryData.ToArray();
}
return inMemoryBytes;
}
ठीक करने के लिए बचाने के लिए कर रहे हैं, तो अगर हम बचाने के char "a", हम डेटाबेस में "0x0001000000FFFFFFFF0100000000000000060100000001610B" देख सकते हैं। इसके बाद हम डेटा पुनर्प्राप्त कर सकते हैं और फिर स्ट्रिंग में कनवर्ट कर सकते हैं।
क्या हम इस बाइनरी मान ("0x0001000000FFFFFFFF0100000000000000060100000001610B") को चार ("ए") में केवल ट्रांसएक्ट एसक्यूएल का उपयोग करके परिवर्तित कर सकते हैं (इसलिए हम संशोधन, आवेषण, एसक्यूएल सर्वर कंसोल से तुलना कर सकते हैं)?
बहुत बहुत धन्यवाद। नहीं कर सकते
create table #sample (content varbinary(max));
insert into #sample values (0x61)
select cast(content as varchar) from #sample
धन्यवाद रूबन्स, लेकिन इस तकनीक का उपयोग अन्य ढांचे (एंटीलिब कंट्रीब http://entlibcontrib.codeplex.com/) के लिए किया जाता है और इसे बदल नहीं सकता है। वे इसका उपयोग करते हैं क्योंकि तब थाई अधिक प्रकारों को स्टोर कर सकता है: इनट्स, स्ट्रिंग, इमेज इत्यादि आदि और हम चाहते हैं (केवल तभी जब स्ट्रिंग स्ट्रिंग हो) इस संग्रहीत मानों को स्ट्रिंग – Oscar
ऑस्कर में परिवर्तित करें, क्या 'बिटकॉन्टर.गेटबाइट्स' उपयोगी हो सकता है? –
लेकिन यह नेट फ्रेमवर्क से एक तरीका है, है ना? मैं केवल SqlConsole का उपयोग करना चाहता हूँ। मैं क्लेनक्स के अनुसार, सीएलआर एसक्यूएल कार्यों का उपयोग कर प्रोग्रामिंग कर रहा हूं। फिर से धन्यवाद। – Oscar