亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2343 | 回復(fù): 0
打印 上一主題 下一主題

MySQLDriverCS 不支持問題解決 Uint 4.0 .net 2.0 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-03-03 23:02 |只看該作者 |倒序?yàn)g覽
轉(zhuǎn):_Sin
項(xiàng)目需要要有C#訪問Mysql數(shù)據(jù)庫,MySQL.Data.dll 這個庫不知道什么原因,讀以前的數(shù)據(jù)庫時,字符類型是亂碼。

沒辦法只能用 MySQLDriverCS-n-EasyQueryTools-4.0.0-DotNet2.0

中文參考手冊http://www.yesky.com/imagesnew/s ... nual_Reference.html

安裝用了后發(fā)現(xiàn)問題,不支持Uint,當(dāng)數(shù)據(jù)庫中值在4294967295/2~4294967295就會報(bào)錯。

項(xiàng)目不是很急,查源碼。

發(fā)現(xiàn)CPrototypes.cs里MysqltoNetType

else if (type == (uint)enum_field_types_5.FIELD_TYPE_INT24 ||
     type == (uint)enum_field_types_5.FIELD_TYPE_LONG)
    {
             return System.Type.GetType("System.Int32";
    }

統(tǒng)一返回的Int32,需要添加一個分支

發(fā)現(xiàn)沒得標(biāo)識說明,查資料后發(fā)現(xiàn)Flags可以用,于是修改C#源碼的類結(jié)構(gòu)
  1. /// <summary>
  2. ///  Interface extended by different MySQL_FIELD versions.
  3. /// </summary>
  4. public interface IMYSQL_FIELD
  5. {
  6.         /// <summary>
  7.         /// Div flagsdefine('NOT_NULL_FLAG',         1);
  8.         /// define('PRI_KEY_FLAG',          2);
  9.         /// define('UNIQUE_KEY_FLAG',       4);
  10.         /// define('MULTIPLE_KEY_FLAG',     8);
  11.         /// define('BLOB_FLAG',            16);
  12.         /// define('UNSIGNED_FLAG',        32);
  13.         /// define('ZEROFILL_FLAG',        64);
  14.         /// define('BINARY_FLAG',         128);
  15.         /// define('ENUM_FLAG',           256);
  16.         /// define('AUTO_INCREMENT_FLAG', 512);
  17.         /// define('TIMESTAMP_FLAG',     1024);
  18.         /// define('SET_FLAG',           2048);
  19.         /// define('NUM_FLAG',          32768);
  20.         /// define('PART_KEY_FLAG',     16384);
  21.         /// define('UNIQUE_FLAG',       65536);
  22.         /// </summary>
  23.         uint Flags{get;}
  24.   /// <summary>
  25.   /// Name of column
  26.   /// </summary>
  27.   string Name{get;}
  28.   /// <summary>
  29.   /// Type of field
  30.   /// </summary>
  31.   uint Type{get;set;}
  32.   /// <summary>
  33.   /// Max width for selected set
  34.   /// </summary>
  35.   long Max_Length {get;set;}
  36.   /// <summary>
  37.   /// Width of column (create length)
  38.   /// </summary>
  39.   uint Length{get;}
  40. }
復(fù)制代碼
實(shí)現(xiàn)了功能,麻煩二:一,非托管到托管的處理,不清楚內(nèi)存結(jié)構(gòu)。二,C寫的結(jié)構(gòu)不清楚查了很才查得Enmu值。

一共修改的兩上上傳記錄一下,

最后又發(fā)現(xiàn)一個問題,MySQL中的VARBINARY被轉(zhuǎn)換在string,處理有問題。還沒發(fā)現(xiàn)解決方法
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP