我正在向MySqlCommand添加参数,并且有一列声明为Tiny(4),但是MySqlDbType中不存在该类型。 另外,我代码中的数据是字符串“ 0”或“ 1”。
If ActiveModifChk.Checked Then
ActiveStr = "1"
Else
ActiveStr = "0"
End If
cmd.Parameters.Add("@isActive", MySqlDbType.Int16).Value = ActiveStr
我应该使用什么MySqlDbType?
答案 0 :(得分:1)
根据MySqlDbType
enumeration reference,根据有符号或无符号定义使用MySqlDbType.Byte
或MySqlDbType.UByte
处理tinyint
数据类型:
// signed 8-bit
cmd.Parameters.Add("@isActive", MySqlDbType.Byte).Value = sbyte.Parse(ActiveStr);
// unsigned 8-bit
cmd.Parameters.Add("@isActive", MySqlDbType.UByte).Value = byte.Parse(ActiveStr);
如果您只是传递“零”或“一个”(类似于true
或false
条件),请使用MySqlDbType.Bit
并将bit
数据类型定义为相应的参数/列。