成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server unicode 支持的具體體現(xiàn)

數(shù)據(jù)庫 SQL Server
我們今天主要向大家講述的是SQL Server unicode 支持,在實(shí)際操作中我們經(jīng)常會遇到關(guān)于SQL Server unicode 支持的問題,以下就是主要內(nèi)容的介紹。

以下的文章主要向大家講述的是SQL Server unicode 支持,假如你對SQL Server unicode的實(shí)際應(yīng)用有興趣了解的話,你就可以通過以下的文章對其有更好的了解,以下就是具體方案的描述,希望在你今后的學(xué)習(xí)中會有所幫助。

所有的文檔和網(wǎng)上的文章都說N可以解決問題。但如果使用wstring bind后select...,則會發(fā)現(xiàn)得到的 wstring 格式的column很大可能結(jié)果是亂碼。

其實(shí)可以這樣解釋這個問題:鍵盤是沒法輸入uniocde編碼的,除非用微軟拼音的內(nèi)碼輸入。因此數(shù)據(jù)庫的客戶端軟件輸入表的內(nèi)容并非SQL Server unicode,即使在表設(shè)計(jì)的時(shí)候用了N。因此select出來的結(jié)果并不能用wsting來解析。

那么我們怎么在初始化數(shù)據(jù)庫的時(shí)候使用SQL Server unicode字符串呢?

  1. SQLRETURN SQLExecDirect(  
  2. SQLHSTMT StatementHandle,  
  3. SQLCHAR * StatementText,  
  4. SQLINTEGER TextLength);  

sql 在執(zhí)行的時(shí)候,調(diào)用SQLExecDirect,其sql語句是SQLCHAR 類型,其實(shí)就是unsigned char 的一段空間,并不一定要求這是一個以'\0'結(jié)尾的ascii 字符串。如果StatementText是一個ascii 字符串,TextLength可以設(shè)置為SQL_NTS。

StatementText是可以嵌入SQL Server unicode字符的,比如使用INSERT INTO T (c1,c2) VALUES(N'unicode string',data),這時(shí)候TextLength要填入整個串的長度而不是SQL_NTS。

拼寫出這樣一個串既不能用窄字符串的函數(shù)集合,也不能用寬字符串的函數(shù)集合。這里使用memcpy類的函數(shù)來構(gòu)造這樣的串,然后調(diào)用SQLExecDirect,取得了成功。比如,

  1. USE [test]  
  2. GO  
  3. SET ANSI_NULLS ON  
  4. GO  
  5. SET QUOTED_IDENTIFIER ON  
  6. GO  
  7. CREATE TABLE [dbo].[電話薄](  
  8. [姓名] [ntext] NULL,  
  9. [電話] [nchar](32) NULL  
  10. ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]  
  11. /*  
  12. * insert a unicode string into the table  
  13. *  
  14. */  
  15. struct buf_s{  
  16. void * buf;  
  17. int len;  
  18. };  
  19. /*  
  20. *just be same as memcpy ,except for the return.  
  21. */  
  22. int memapend(void * dst, void * src ,int len)  
  23. {  
  24. memcpy(dst,src,len);  
  25. return len;  
  26. }  
  27. void insert()  
  28. {  
  29. unsigned char sql_buf[256]={0};  
  30. int len_sql=0;  
  31. char str1[]="insert into 電話薄 (姓名,電話) values(N'";  
  32. int len1=strlen(str1);  
  33. wchar_t str2[]=L"張三";  
  34. int len2=wcslen(str2)*sizeof(wchar_t);  
  35. char str3[]="',N'";  
  36. int len3=strlen(str3);  
  37. wchar_t str4[]=L"010123456";  
  38. int len4=wcslen(str4)*sizeof(wchar_t);  
  39. char str5[]="')";  
  40. int len5=strlen(str5);  
  41. buf_s buf_s_a []={str1,len1,  
  42. str2,len2,  
  43. str3,len3,  
  44. str4,len4,  
  45. str5,len5};  
  46. for (int i=0;i<sizeof(buf_s_a)/sizeof(buf_s);i++)  
  47. {  
  48. len_sql+=memapend(sql_buf+len_sql, buf_s_a[i].buf,buf_s_a[i].len);  
  49. }  
  50. SQLExecDirect(h,sql_buf,len_sql);  
  51. }  
  52. btw:find a good site for ms_sqlserver:  

以上的相關(guān)內(nèi)容就是對SQL Server unicode 支持的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server 易混淆的一些數(shù)據(jù)類型有哪些?
  2. SQL Server 日期操作全接觸,嘻嘻
  3. 對SQL Server 2005 BI的描述
  4. 批量修改SQL Server 2005表構(gòu)架很簡單!
  5. MS SQL Server 2000系統(tǒng)數(shù)據(jù)類型有哪些?
     
責(zé)任編輯:佚名 來源: 51CTO
相關(guān)推薦

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2010-03-24 14:55:19

Python編程語言

2010-07-07 09:47:04

SQL Server索

2009-05-06 14:03:13

SQL Server日志log

2010-03-25 11:08:08

Python優(yōu)點(diǎn)

2011-08-12 08:52:39

SQL ServerHadoop

2010-10-21 16:38:27

sql server文

2010-08-03 13:36:55

DB2 9數(shù)據(jù)庫缺點(diǎn)

2010-12-23 09:25:20

SQL Server

2010-06-11 17:51:17

MySQL數(shù)據(jù)庫

2010-07-13 15:29:24

SQL Server

2010-07-22 17:33:42

2010-03-15 16:04:41

以太網(wǎng)技術(shù)

2012-04-25 15:23:52

SQL Server

2009-12-07 10:02:08

SQL Server支

2010-06-18 11:31:48

SQL Server數(shù)

2011-03-28 16:39:41

SQL Server

2010-06-17 15:02:08

SQL SERVER

2010-11-10 15:23:55

SQL SERVER

2023-11-03 09:00:12

Unicode地域障礙空間
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人精品网| 欧美影院 | 欧美日韩一 | 欧美一级黄色免费 | av在线免费不卡 | 日韩a视频 | 国产乱码精品一区二区三区中文 | 亚洲视频欧美视频 | 黄色在线免费看 | 免费观看的av | 久久一二| 精品美女久久久久久免费 | 久久国产成人精品国产成人亚洲 | 亚洲精品天堂 | 一区二区三区在线 | 日韩精品一区二区三区在线观看 | www.亚洲一区 | 羞羞视频在线网站观看 | 第四色狠狠 | 亚洲三区视频 | 欧美成人精品在线 | jvid精品资源在线观看 | 精品国产一区二区三区观看不卡 | 久久在看 | 欧美视频三区 | 久久国产精品色av免费观看 | 亚洲精品3 | 国产激情一区二区三区 | 男人的天堂久久 | 日韩资源 | 日韩在线国产 | 精品欧美乱码久久久久久 | 免费精品在线视频 | 91精品久久久久久久久中文字幕 | 国产精品综合 | 久久久高清| 国产一级一片免费播放 | 99久久婷婷国产综合精品首页 | 99精品久久久 | 91视频正在播放 | 亚洲午夜精品一区二区三区 |