可以用split来折分字符进行数据插入操作

解决方案 »

  1.   

    可以用listbox,这样更容易插入.
      

  2.   

    输入格式1,2,3,4
           5,6,7,8
    可以用split来折分字符进行数据插入操作
            多行间用\r\n拆分多条记录,字段间用逗号拆分字段,你可以试下
      

  3.   

    将textbox的名字改成 textbox1  textbox2 textbox3这样的,用for循环添加    for (int k = count + 1; k <= 3; k++) {
            string stra = "lblNamChn" + k.ToString;
            string strb = "txtEmpno" + k.ToString;
            TextBox TextBoxa = (TextBox)this.FindControl(stra);
            TextBox TextBoxb = (TextBox)this.FindControl(strb);
            if (!string.IsNullOrEmpty(TextBoxa.Text.Trim)) {
                strSQL = "Insert Into TUTOR(tutor_type,tutor_emp_id,tutor_name,crs_num,cls_num,crt_user,crt_datetime) Values(";
                strSQL += "'" + ReplaceString(SelTutorType.SelectedValue) + "',";
                strSQL += "'" + ReplaceString(TextBoxb.Text.Trim) + "',";
                strSQL += "'" + ReplaceString(TextBoxa.Text.Trim) + "',";
                strSQL += "'" + ReplaceString(lstCrsNum.SelectedValue) + "',";
                strSQL += "'" + ReplaceString(txtClsnum.Text.Trim) + "',";
                strSQL += "'" + Session("UserID") + "',";
                strSQL += "'" + Strings.Format(Now(), "yyyy/MM/dd HH:mm:ss") + "')";
                clsDbProcess.ExecuteSQL(Session("Server"), Session("Database"), strSQL);
            }
        }
      

  4.   

    split可以拆分,多行怎么解决呀
      

  5.   


    STRING stra=textbox1.textstring[] Array1=stra.split(" ");
    int a=Array1.length;
    int b=a/4;
    int i=0;
    if (a%4==0)
    {
     while (i<a )
     {
      string sql="insert into table(a,b,c,d) values (Array1[i],Array1[i+1],Array1[i+2],Array1[i+3]  )"  cmd.excutenonquery(sql,con)
      i=i+4
     }
    }
      

  6.   

    用存儲過程吧~sql語句效率低,一個語句就是一個事務,循環那麼多次把資料庫累死,還可能會被注入~~
      

  7.   


    STRING stra=textbox1.text
    string[] Array1=stra.split(" ");
    int a=Array1.length;
    int i=0;
    if (a%4==0)
    {
     while (i<a )
     {
      string sql="insert into table(a,b,c,d) values ('"+Array1[i].replace("'","''")+"','"+Array1[i+1].replace("'","''")+"','"+Array1[i+2].replace("'","''")+"','"+Array1[i+3].replace("'","''")+"'  )"
      cmd.excutenonquery(sql,con)
      i=i+4
     }
    else
    {
    response.write("数字个数请输入4的倍数")
    }
    }
      

  8.   


      用 split()  很简单的
      

  9.   

    用 split()  加上循环插入
      

  10.   

    输入形如:
    11 22 33 44
    22 33 44 55
    33 44 55 66
    的时候。//SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["connstr"]);
    //conn.Open();
    //string a = this.TextBox1.Text;
    //string[] str = a.Split(' ');
    //string a1 = str[0];
    //string a2 = str[1];
    //string a3 = str[2];
    //string a4 = str[3];
    //string strsql = "insert into gys(gysname,gysqq,gyshttp,gystel) values('"+a1+"','"+a2+"','"+a3+"','"+a4+"')";
    //SqlCommand comm = new SqlCommand(strsql,conn);
    //comm.ExecuteNonQuery();
    //Response.Write("添加成功");只能把第一条写入到数据库。
    而下面的:
    SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["connstr"]);
            conn.Open();
            string a = this.TextBox1.Text;
            string[] str = a.Split(' ');
            string a1 = str[0];
            string a2 = str[1];
            string a3 = str[2];
            string a4 = str[3];        for(int i=0;i<TextBox1.Rows;i++)
            {
                string strsql = "insert into gys(gysname,gysqq,gyshttp,gystel) values('"+a1+"','"+a2+"','"+a3+"','"+a4+"')";
                SqlCommand comm = new SqlCommand(strsql,conn);
                comm.ExecuteNonQuery();
                Response.Write("添加成功");
            }连一条都插入不进去了,哪里写错了呀。????