遍历控件。若 control is TextBox则……就这样。

解决方案 »

  1.   

    4楼朋友,我的代码已遍历了控件。所以问题主要是如何将textbox.text的数据类型快速地转换成数据库表中相应字段的数据类型。最麻烦的是一条一条地转换啰。
      

  2.   

    可以读取每个Column的类型(如果没记错属性名字的话,应该是:ds.Tables["persons"].Columns[i].DataType)再根据情况做转换
      

  3.   

    C#能否有实现下述功能的语句或方法呢?--
    //i为变量,.type为i的变量类型
    i.type=ds.Tables["persons"].Column[i].DataType
      

  4.   

    dr[i] = Convert.ChangeType(txt.Text, ds.Tables["persons"].Column[i].DataType)
    仅对基础类型有效,并且在无法转换时会抛出异常(例如:把"a"转换成int时)
      

  5.   

    看来这种情况,还是得老老实实地一个一个去写转换了。但是还是碰到新问题。如下面的代码:
                     
                      dr[1] = Convert.ToInt32(txt1.Text);
                    dr[2] = Convert.ToString(txt2.Text);
                    dr[3] = Convert.ToInt64(txt3.Text);
                    dr[4] = Convert.ToInt64(txt4.Text);
                    dr[5] = Convert.ToString(txt5.Text);
                    dr[6] = Convert.ToInt32(txt6.Text);
                    dr[7] = Convert.ToDateTime(txt7.Text);
                    dr[8] = Convert.ToInt32(txt8.Text);
                    dr[9] = Convert.ToInt32(txt9.Text);
                    dr[10] = Convert.ToInt32(txt10.Text);
                    ...当textbox中的Text有相应的值时,可能编译通过。但如果当中有空值情况怎么去处理呢?总不能每一条都要去写一条if语句吧?大家有何高见?