哪位兄弟帮忙解释一下
cmd.Parameters.Add( "@bookDescription" , SqlDbType.NVarChar , 0 );
为什么最后大小用“0”??
可以认为“0”就是指无限大小吗??

解决方案 »

  1.   

    你的参数是这个SqlDbType.NVarChar 类型,给个0 肯定会报错的
      

  2.   

    最后一个参数指定参数类型的大小。无限大小就用SqlDbType.Text
      

  3.   

    可是很奇怪,我特别试运行了下,居然还能顺利写到数据库里面去
    哪位大哥帮帮忙,MSDN查过了,也google了,就是没有答案
      

  4.   

        protected void btnSave_Click( object sender , EventArgs e )
        {
            string connString = "Data Source=.;AttachDbFilename=E:\\DEMO\\QingRuanAllen\\Library\\App_Data\\LibraryMS.mdf;Integrated Security=True;User Instance=False";
            SqlConnection conn = new SqlConnection(connString);
            try
            {
                conn.Open( );
                SqlCommand cmd = new SqlCommand( );
                cmd.Connection = conn;
                cmd.CommandText = @"insert into [book]
                (
                    bookNm,
                    bookNo,
                    publisher,
                    author,
                    categoryID,
                    publishDate,
                    bookNumber,
                    bookDescription,
                    addDate
                )
                values 
                (
                    @bookNm,
                    @bookNo,
                    @publisher,
                    @author,
                    @categoryID,
                    @publishDate,
                    @bookNumber,
                    @bookDescription,
                    @addDate
                )";
                //参数添加
                cmd.Parameters.Add( "@bookNm" , SqlDbType.NVarChar , 50 );
                cmd.Parameters.Add( "@bookNo" , SqlDbType.NVarChar , 50 );
                cmd.Parameters.Add( "@publisher" , SqlDbType.NVarChar , 50 );
                cmd.Parameters.Add( "@author" , SqlDbType.NVarChar , 50 );
                cmd.Parameters.Add( "@categoryID" , SqlDbType.Int , 4 );
                cmd.Parameters.Add( "@publishDate" , SqlDbType.DateTime , 8 );
                cmd.Parameters.Add( "@bookNumber" , SqlDbType.Int , 4 );
                cmd.Parameters.Add( "@bookDescription" , SqlDbType.NVarChar , 0 );
                cmd.Parameters.Add( "@addDate" , SqlDbType.DateTime , 8 );
                //参数值获取
                cmd.Parameters["@bookNm"].Value = this.txtbookNm.Text;
                cmd.Parameters["@bookNo"].Value = this.txtbookNo.Text;
                cmd.Parameters["@publisher"].Value = this.txtpublisher.Text;
                cmd.Parameters["@author"].Value = this.txtauthor.Text;
                cmd.Parameters["@categoryID"].Value = int.Parse(this.ddbookcategory.SelectedValue);
                cmd.Parameters["@publishDate"].Value = this.Calendar1.SelectedDate;
                cmd.Parameters["@bookNumber"].Value = this.txtbooknum.Text;
                cmd.Parameters["@bookDescription"].Value = this.txtbookNote.Text;
                cmd.Parameters["@addDate"].Value = DateTime.Now;            //执行命令
                cmd.ExecuteNonQuery( );        }
            finally
            {
                conn.Close( );        }
        }这是完整代码
      

  5.   

    调用存储过程.
    cmd.Parameters.Add( "@bookDescription" , SqlDbType.NVarChar , 0 ); 
    可以是0