在注册类中:
要写入数据库10个参数,例如Parms[0],Parms[1],Parms[2],Parms[3],Parms[4],Parms[5],Parms[6],Parms[7],Parms[8],Parms[9].
如果在提交时,全部赋值的话,就会顺利的将所赋的值写入数据库,但是如果没有对其中的n个参数赋值,提交就会报错说"输入字符串格式不正确"!现在如果要将null赋给没有赋值的参数写入数据库.
请问如何使用循环语句写???给出具体例子,谢谢!

解决方案 »

  1.   

    for(int i=0;i<Parms.Lenth;i++)
    {
       if(Parms[i]!=null)
        {
            //赋值     }}
      

  2.   

    参考例子:
    public static TextSave(SqlParmeter[] parms)
    {
      SqlCommand cmd = new ......;
      foreach(SqlParmeter par in parms)
      {
         if(par.Value == null)
           par.Value = DbNull.Value;
        
        cm.Parmeters.Add(par);
      }
    }
      

  3.   

    将数据库字段的为空性设为true
      

  4.   

    参考例子:
    public static TextSave(SqlParmeter[] parms)
    {
      SqlCommand cmd = new ......;
      foreach(SqlParmeter par in parms)
      {
         if(par.Value == null)
           par.Value = DbNull.Value;
        
        cm.Parmeters.Add(par);
      }
    }
    ---------------这个例子不错。
      

  5.   

    string strSql="insert Tb(";
    string strSel="select ";
    string strText="";
    string[] arrVol=string[]{vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10}//字段名称
    for(int i=0;i<Parms.Lenth;i++)
    {
       if (Parms[i]!=null&&Parms[i]!="")
       {     strSql+=arrVol[i]+
       }
    }
      

  6.   

    没有写完:
    string strSql="insert Tb(";
    string strSelect="select ";
    string strText="";
    string[] arrValue=string[]{vol1,vol2,vol3,vol4,vol5,vol6,vol7,vol8,vol9,vol10}//字段名称
    for(int i=0;i<Parms.Lenth;i++)
    {
       if (Parms[i]!=null&&Parms[i]!="")
       {
         if (strText=="")
         {
           strText+=arrValue[i];
           strSelect+="'"+Parms[i].Trim()+"'";
         }
         else
         {
             strText+=","+arrValue[i];
    strSelect+=",'"+Parms[i].Trim()+"'";
         }
        }
    }
    if (strText.Length>0)
    {
        strSql+=strText+") "+strSelect;
    }
      

  7.   

    step1:在数据库中把字段设置为允许为空
    step2:写一个字符处理函数
    private string ConvertNULL(object str)
    {
          if (str==null)
             return DBNULL.Value;
          else
             return str.ToString();
    }在给参数赋值的时候这样些
    tempCommand.Paramaters.AddWith("@str",ConvertNULL(变量值));