数据库表t_user有两个字符型字段xh,sjs。下面是一次生成100个str写入t_user表字段sjs中的部分代码,现在假设xh不允许空并且是按加1递增的,想同时自动生成从0110001到0110100个字符串到xh中,代码改怎样写??
 
...
     protected void Button2_Click(object sender, EventArgs e)
    {
        SqlConnection conn = DB.createConnection();
        conn.Open();
        for (int i = 0; i < 100; i++)           
        {
            //调用方法获得随机数
            string str = GenerateRandom(8);
            //后边添加到数据库
            //将str添加到数据库。
            SqlCommand cmd = new SqlCommand("insert into t_user(sjs) values('" + str + "')", conn);
            //SqlCommand cmd = new SqlCommand(sql, cn);
            cmd.ExecuteScalar();
        }
        conn.Close();
     }

解决方案 »

  1.   

    不需这样吧,你把xh类型设为INT类型
    然后,再设为标识。
    这样你每添一条数据,系统就会自己递增数值。
      

  2.   

    多谢,里面已经有id为你说的int类型的自增标识了,现在想要的是字符型的xh呀。
      

  3.   

    刚好我前段时间有写一个,去看看吧SQL Server 自动生成字符串主键 流水号 
      

  4.   

                for (int i = 1; i <= 100; i++)
                {
                    string result += "0110" + string.Format("{0:D3}", i) + "\r\n";
                }
      

  5.   

    SQL Server 自动生成字符串主键 流水号 
      

  6.   

    SQL Server 自动生成字符串主键 流水号 
      

  7.   

                for (int i = 1; i <= 100; i++)
                {
                    string result += "0110" + string.Format("{0:D3}", i) + "\r\n";
                }
      

  8.   

                for (int i = 1; i <= 100; i++)
                {
                    string result += "0110" + string.Format("{0:D3}", i) + "\r\n";
                }
      

  9.   

                for (int i = 1; i <= 100; i++)
                {
                    string result += "0110" + string.Format("{0:D3}", i) + "\r\n";
                }
      

  10.   

    这个是前段时间自己写的一个SQL脚本,在项目中封装一个方法,字符主键就都可以用这个,
      

  11.   

    这个是前段时间自己写的一个SQL脚本,在项目中封装一个方法,字符主键就都可以用这个,
      

  12.   

    public string[] f()

    string [] a=string [100];
    int k=0;
    for (int i=110001;i<=110100;i++)
    {
    a[k]="0"+i.Tostring();
    k++;
    }
    return a;
    }
      

  13.   

     protected void Button2_Click(object sender, EventArgs e)
      {
      SqlConnection conn = DB.createConnection();
      conn.Open();
    string [] B=f();//定义的f()函数,名字随便取的  for (int i = 0; i < 100; i++)   
      {
      //调用方法获得随机数
      string str = GenerateRandom(8);
      //后边添加到数据库
      //将str添加到数据库。
      SqlCommand cmd = new SqlCommand("insert into t_user(sjs,xh) values('" + str + "','"+B[i]+"')", conn);  //SqlCommand cmd = new SqlCommand(sql, cn);
      cmd.ExecuteScalar();
      }
      conn.Close();
      }
      

  14.   

    请问HHQSY:你在19楼的代码放在下面代码哪里?
    附源码:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class Default3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        //生成密码组合
        private static char[] constant =   
      {   
         '0','1','2','3','4','5','6','7','8','9',    
      };
        static Random rd = new Random();
        public static string GenerateRandom(int Length)
        {
            System.Text.StringBuilder newRandom = new System.Text.StringBuilder(58);
            for (int i = 0; i < Length; i++)
            {
                newRandom.Append(constant[rd.Next(0, constant.Length)]);
            }
            return newRandom.ToString();
        }    protected void Button2_Click(object sender, EventArgs e)
        {
            SqlConnection conn = DB.createConnection();
            conn.Open();
            string[] B = f();//定义的f()函数,名字随便取的
            for (int i = 0; i < 100; i++)   
            {
                string str = GenerateRandom(8);
                SqlCommand cmd = new SqlCommand("insert into t_user(sjs,user_name) values('" + str + "','" + B[i] + "')", conn); //SqlCommand cmd = new SqlCommand(sql, cn);
                cmd.ExecuteScalar();
            }
            conn.Close();
        }
    }
      

  15.   

    函数定义,放在public static string GenerateRandom(int Length){}
    旁边就行了。
      

  16.   

    放到public static string GenerateRandom(int Length){}后面
     protected void Button2_Click(object sender, EventArgs e)前面
    提示:
    错误:无效的表达式项“string”
    错误:应输入 ;
    错误:无效的表达式项“]” 

      

  17.   

    string.Format("{0:D3}", i)  流水号  循环100次就行
      

  18.   

    谢谢,很惭愧,不知道“string result += "0110" + string.Format("{0:D3}", i) + "\r\n";”怎么用呀?
      

  19.   

    不需要修改代码,只要在数据库里把SJS字段设为标识,初始量设为0110001,增量设为1就行拉
      

  20.   

    回demonoh:我的是字符型的好像设不穿那样的“初始量设为0110001”回HHQSY:代码及提示如下:using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    public partial class Default3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        //生成密码组合
        private static char[] constant =   
      {   
         '0','1','2','3','4','5','6','7','8','9',    
      };
        static Random rd = new Random();
        public static string GenerateRandom(int Length)
        {
            System.Text.StringBuilder newRandom = new System.Text.StringBuilder(10);
            for (int i = 0; i < Length; i++)
            {
                newRandom.Append(constant[rd.Next(0, constant.Length)]);
            }
            return newRandom.ToString();
        }
        public string[] f()
        {  
            string [] a=string [100];      // 出错的那几个提示行号都是这一行
            int k=0;
            for (int i=110001;i<=110100;i++)
                {
                a[k]="0"+i.Tostring();
                k++;
                }
            return a;
        }    protected void Button2_Click(object sender, EventArgs e)
        {
            SqlConnection conn = DB.createConnection();
            conn.Open();
            string[] B = f();//定义的f()函数,名字随便取的
            for (int i = 0; i < 100; i++)   
            {
                string str = GenerateRandom(8);
                SqlCommand cmd = new SqlCommand("insert into t_user(sjs,user_name) values('" + str + "','" + B[i] + "')", conn); 
                cmd.ExecuteScalar();
            }
            conn.Close();
        }
    }
      

  21.   

     public string[] f()
        {  
            string [] a= new string [100];              
             int k=0;
            for (int i=110001;i<=110100;i++)
                {
                a[k]="0"+i.ToString();        
                k++;
                }
            return a;
        }漏写,呵呵