你在构造sql语句时就作好个判断
构造时用两个字符串, 一个存要存储的字段名称, 一个存要保存的字段值
if(txtBox1.Text == "")
 //则此项不加入insert语句

解决方案 »

  1.   

    但是如果有好多int型字段不是很麻烦
      

  2.   

    用?表达式
    txtBox1.Text != "" ? txtBox1.Text : "null"
      

  3.   

    或者写一个公共方法,用来判断值是否为空,为空返回"null",插入时调用即可
    如:
    public string parse(string str)
    [
      return txtBox1.Text != "" ? txtBox1.Text : "null";
    }
      

  4.   

    if txtBox1.Text <> "" then //则此项加入insert语句End Ifor  Function checknull(ByVal str)
            If IsDBNull(str) Then
                str = str & ""
                Return ""
            Else
                Return str
            End If    End Function
      

  5.   

    同意 alieneagle()
    如果你用的是VB,那就这样:
    public parse(str as string)as string
    [
      return iif(len(trim(txtBox1.Text))>0,txtbox1.text.trim,"null")
    }
      

  6.   

    我不要默认值,如果用户不填,我插个NULL
      

  7.   


    for each  a in b
    next
    可以吗?
      

  8.   

    必须要逐条进行检查,如果不为空,插入int1.Text,如果为空则插入DBNull.Value,在整数类型的数据插入字符NULL是不行的。
    MyCommand.Parameters.Add(new SqlParameter("@user",SqlDbType.Int, 4));
    if(int1.Text!=""){
    MyCommand.Parameters["@User"].Value = Int32.Parse(int1.Text);     
    }
    else{
    MyCommand.Parameters["@User"].Value = DBNull.Value;     
    }