我保存数据的时候,第一种方法用 dr["str1"] = sstr1.text 再加上 sqlc.updatebulider(dta);//更新记录集.
第二种方法 执行SQL语句  insert into a(str1)values('"+sstr1.text+"')",但这样两种方法有一个重要的问题,当sstr1.text 为string.empty时,保存在sql server 2005里面的值是"",而不是NULL, 如何做到当text属性为"",保存在server 2005 里面的值是null.

解决方案 »

  1.   

    string str=sstr1.text.ToString().Trim();
    if(str.length<=0)
    {
      str=null;
    }
    insert into a(str1)values('"+str+"')",
      

  2.   

    当sstrq.text为空时,不要把str1写进insert into 语句就可以了啊。当数据表的字段设计可以为空时会自动插入Null
      

  3.   

    这个的确麻烦,因为要根据输入的,改变SQL语句,感觉不太实际.
      

  4.   

    SqlParameter str = new SqlParameter("@s", SqlDbType.VarChar, 50);
    str.Value = String.IsNullOrEmpty(TextBox1.Text)? DBNull.Value: TextBox1.Text;
      

  5.   

    string sql="insert into a(str1)values('"+sstr1.text+"')";
    sql=sql.Replace("''","NULL");
      

  6.   

    感觉这个方式不错呀,textbox假如有其它的属性,空的时候,某一个属性的值自动为NULL就好了