识别int中的前导0?

时间:2014-08-28 09:02:41

标签: c# mysql

我正在尝试将条目插入数据库:

mySqlCommand.CommandText = "INSERT INTO table_name (col1, col2) values (@number, @word);";

mySqlCommand.Parameters.Add("@number", MySqlDbType.Int32);
mySqlCommand.Parameters.Add("@word", MySqlDbType.VarChar);

mySqlCommand.Parameters["@number"].Value = 0110;
mySqlCommand.Parameters["@word"].Value = "Hello";

然而,当我退回时,它被存储为110而不是0110。如何让它识别领先的0

2 个答案:

答案 0 :(得分:5)

你的数据类型是整数。当0110被转换为整数时,它变为110。 要实现您的目标,您需要在表和表中将其数据类型设置为varchar MySqlDbType.Int32MySqlDbType.VarChar。 希望这会对你有所帮助。

答案 1 :(得分:0)

没有像int中的前导0那样的东西。但是如果你想存储前导0,那么你可以将该字段的数据类型转换为Varchar ..

或通过编程方式,您也可以在任何变量中填充0,但它将再次转换为字符串。 喜欢这个

int Anynumber= 5;

string AnynumberWithZero = string.Format("{0}", Anynumber.ToString().PadLeft(2, '0'));

结果将是“05”