我的数据库表里有很多字段,有10多个字段都是数字
我用textbox一一对应,但关于数字字段的textbox都不是必填的
我应该用什么方法处理,才不会产生输入字符串的格式不正确?
就是空值如何添加到数字字段/??

解决方案 »

  1.   

    if(text.Text.trim().length()==0)
      text.Text=0;
      

  2.   

    我不想把0插入表
    况且我有很多个textbox,不一定哪个为空
      

  3.   

    传参数,所有文本框都传进去,如果某个文本框为空,传入一个DBNull.Value。
      

  4.   

    Snowdust(雪尘)
    请问如何传呢?
      

  5.   

    string id = "zawp";
    string name = "wwwwwww";
    string strCon = @"Data Source=(local);Integrated Security=SSPI;Initial Catalog =northwind";// 直接在sql语句中写添加的参数名,这里没有做任何类型验证,在定义参数时需要准确的类型定义和长度设置
    string delegeSql = "insert into Customers(CompanyName,CustomerID) values(@Name,@id)";SqlConnection strConn = new SqlConnection(strCon);
    strConn.Open();SqlDataAdapter thisAdapter = new SqlDataAdapter(delegeSql, strCon);
    SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter);
    Console.WriteLine(thisAdapter.SelectCommand.CommandText);
    SqlCommand strComm = new SqlCommand(delegeSql, strConn);//生成一个名字为@Id的参数,在这里必须要准确设定参数类型和类型长度,并且必须以@开头表示是添加的参数
    //注意可以用一个SqlParameter对像来添加多个参数,并且这里的参数定义、添加可以不安照sql语句里参数值的顺序(如果是存储过程的话,要注意顺序)
    SqlParameter para = new SqlParameter("@id", SqlDbType.NChar, 5);
    para.Value = id;
    strComm.Parameters.Add(para);para = new SqlParameter("@name", SqlDbType.NVarChar, 40);
    if (string.IsNullOrEmpty(name))
    {
    para.Value = DBNull.Value;
    }
    else
    {
    para.Value = name;
    }
    //注意以上这几句
    strComm.Parameters.Add(para);strComm.ExecuteNonQuery();strConn.Close();
      

  6.   

    楼上说的有道理,如果允许为空就不做处理
    if(TextBox1.Text!=null && TextBox1.Text!="")
    {
    //赋值语句
    }
    else
    {
    //不处理或赋空值DBNull.Value
    }
      

  7.   

    我有很多个textbox,而且不一定哪些为空