MYSQL数据库里有一字段类型为 char(23) binary
现在要把一个object存进去,请问要如何实现?
相关代码: string ItemDataColumn = "ITEMDATA1";
string[] ItemInfo;
GetItemInfo(QuestItemID,out ItemInfo); TPOS_ITEM_GAME baseItem = new TPOS_ITEM_GAME();
baseItem.BaseID = Convert.ToInt32(QuestItemID);
baseItem.UniID = GetUniID();
baseItem.Hp = 0;
baseItem.QuestIndex = 0;
baseItem.IR = new byte[5];
baseItem.IR[0] = 0;
baseItem.IR[1] = 0;
baseItem.IR[2] = 0;
baseItem.IR[3] = 0;
baseItem.IR[4] = 0;
baseItem.Reserved = new byte[3];
baseItem.Reserved[0] = 0;
baseItem.Reserved[1] = 0;
baseItem.Reserved[2] = 0; POSDB_ITEM item2db = new POSDB_ITEM();
EdrLib.GameItemToDBItem(baseItem,ref item2db);
string mysqlCommandString = "SELECT "+ItemDataColumn+" FROM pos_item WHERE MainName='"+MainName+"'";
OdbcDataAdapter mysqlDA = new OdbcDataAdapter(mysqlCommandString,mysqlConnection);

OdbcCommand dbCommand = new OdbcCommand();
dbCommand.CommandText = "UPDATE pos_item SET "+ItemDataColumn+"=? WHERE MainName='"+MainName+"'";
dbCommand.Connection = mysqlConnection;
dbCommand.Parameters.Add(new OdbcParameter(ItemDataColumn,OdbcType.Binary,23,ItemDataColumn));
mysqlDA.UpdateCommand = dbCommand;

DataSet mysqlDS = new DataSet();
mysqlDA.Fill(mysqlDS,"item"); mysqlDS.Tables["item"].Rows[0][ItemDataColumn] = item2db; mysqlDA.Update(mysqlDS,"item");
[ StructLayout( LayoutKind.Sequential, CharSet=CharSet.Ansi)]  
public struct POSDB_ITEM 
{
public ulong    UniID;                 
public uint            BaseID;             
public byte            Hp;         
public byte            QuestIndex;
[ MarshalAs( UnmanagedType.ByValArray, SizeConst=3 )]
public byte[]          Reserved;
[ MarshalAs( UnmanagedType.ByValArray, SizeConst=5 )]
public byte[]          Attrib;
public byte            Status; 
}