datetime类型数据的问题

SQL Server 2008中有一个字段(PM)为datetime类型 允许为空

在C#后台,想要做一个空值插入,要求是在数据库内,只要为空,则显示NULL,而不是默认时间,以下代码报错Incorrect syntax near '2'.

请问怎么解决这个问题?

                object PM;
                if (this.txtpm.Text != "" && this.txtpm.Enabled == true)
                {
                    PM = Convert.ToDateTime(this.txtpm.Text);
                }
                else
                {
                    PM = "'" + DBNull.Value + "'" ;
                }

                                string sql = string.Format("INSERT INTO [test]([PM]) Values({0})",PM);
                                sp.Insert(sql);

你sql语句错了啊。。你是构造sql语句的

PM = "'" + DBNull.Value + "'";改为 PM = "null";