none
DataSet批量提交数据的问题 RRS feed

  • 问题

  • 不是提交不了数据,而是其中的一个长度为1000的varchar类型的数据被自动截断了。
    要填充的数据形式如下:
    "BORDER-BOTTOM: windowtext 1pt solid; BORDER-LEFT: windowtext 1pt solid; PADDING-BOTTOM: 0cm; PADDING-LEFT: 5.4pt; WIDTH: 88pt; PADDING-RIGHT: 5.4pt; HEIGHT: 16.2pt; BORDER-TOP: windowtext 1pt solid; BORDER-RIGHT: windowtext 1pt solid; PADDING-TOP: 0cm; mso-border-alt: solid windowtext .5pt"
    是一个单元格的样式,我准备保存到数据库中,以便动态生成的时候不用重写了
    DataSet批量写的的代码如下:
            for (int i = 0; i < cellCount; i++)
            {
                id = Guid.NewGuid().ToString();
                id = id.Replace("-", "");
                row = orlDs.Tables["rptb"].NewRow();
                row["id"] = id;
                row["prj_id"] = hdPid.Value;
                row["dept_id"] = hdDept.Value;
                row["report_order"] = txtOrder.Text;
                row["report_name"] = rptName;
                row["cell_content"] = splitCont[i];
                row["cell_order"] = (i + 1).ToString();
                row["cont_row"] = splitRow[i];
                row["cont_col"] = splitCol[i];
                row["cont_rowspan"] = splitRowspan[i];
                row["cont_colspan"] = splitColspan[i];
                row["cont_style"] = splitStyle[i];
                orlDs.Tables["rptb"].Rows.Add(row);
            }
    跟踪时splitStyle[i]中的内容是正常的,但到后台数据库中查询时,却发现只保存了一小部分,如下:
    BORDER-BOTTOM: windowtext 1pt so

    BORDER-BOTTOM: medium none; BORD

    数据被莫名其妙的截断了,我用的是oracle9i数据库,使用的时oracleclient进行连接
    请问各位专家,这是怎么一回事?是oracle9i控制符的问题吗?
    我怎么做才能把样式数据完整的保存到数据库中?

    2009年10月18日 13:08

答案

  • 晕死了,是我自己弄错了
    在写参数的时候
    写成了“orlDa.InsertCommand.Parameters.Add(new OracleParameter("cont_style", OracleType.VarChar, 32))“
    2009年10月18日 13:37