Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# a=a+;我错过了什么_C#_Sql Server - Fatal编程技术网

C# a=a+;我错过了什么

C# a=a+;我错过了什么,c#,sql-server,C#,Sql Server,你能帮我解决我的问题吗。我使用的是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();

你能帮我解决我的问题吗。我使用的是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)

你需要做的只是格式化:这里有一个整数,你想用前缀零显示它们。可以使用重载方法指定格式

你必须考虑的一个更重要的事情是<代码> FraveExtExabor >代码>,看到你已经使用了<代码> Real.toTeN32()/Case>将该值转换成整数,这将不是一个好的选择,因为它将在代码< DR(1)的值为dBULL或空的时候抛出<代码> FraveExtabor >代码,所以我建议你使用<代码> TyPARSESE()。请查看下面的代码:

int.TryParse(dr[1].ToString(), out a);
a = a + 1;
txtinvoiceno.Text = a.ToString("00000");
使用PadLeft函数

ToString().PadLeft(4, '0');
或者只需在
ToString
函数中使用format参数,如:

ToString("00000");

a.ToString(“00000”)
?@RubensFarias你的意思是“txtinvoiceno.Text=a.ToString(00000);”您必须在数据(您的数字)和表示(您的字符串)之间有所不同。当然,您可以计算数据,但前导或尾随的零是一种格式设置。为什么要关闭连接,然后再打开它?如果您更改表结构,您的代码将来会中断,最好按名称
dr[“voiceno”]
引用列,而不是
dr[1]
。而且它更具可读性
  int i = 2;
  string s = i.ToString("00000");
//result will be 00002