你能帮我解决我的问题吗?我正在使用 SQL Server 数据库,它是一个计数按钮,我在其上添加了以下代码:
int a;
using (SqlCommand command2 = new SqlCommand("select * from voiceno WHERE ID = '1'", con))
{
con.Close();
con.Open();
SqlDataReader dr;
dr = command2.ExecuteReader();
if (dr.Read())
{
string val = dr[1].ToString();
if (val == "0")
{
txtinvoiceno.Text = "00001";
}
else
{
a = Convert.ToInt32(dr[1].ToString());
a = a + 00001;
txtinvoiceno.Text = a.ToString();
}
}
}
和我的桌子:
CREATE TABLE [dbo].[voiceno](
[ID] [int] IDENTITY(1,1) NOT NULL,
[voiceno] [nvarchar](50) NULL
当我获得第一次重新编码时,它以 00001 开头,第二次重新编码给了我 2(我需要将其设为 00002)
你需要做的只是格式化:这里你有一个整数,你想用前缀零显示它们。您可以使用重载.ToString()
方法来指定格式。
你必须考虑的另一件重要的事情是FormatException
,看到你已经用于Convert.ToInt32()
将值转换为整数,这在这里不是一个好的选择,因为FormatException
当 的值为dr[1]
DBNull 或为空时它会抛出,所以我建议你使用TryParse()
反而。看看下面的代码:
int.TryParse(dr[1].ToString(), out a);
a = a + 1;
txtinvoiceno.Text = a.ToString("00000");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句