SqlParameter paroutputjname_part = Lingjianyue1.Parameters.Add("@jname_part",SqlDbType.Char,2);
paroutputjname_part.Direction = ParameterDirection.Output;jname_part = new DataColumn();//创建DataColum 
jname_part.DataType = typeof(char);//设置DataColumn 数据类型
jname_part.ColumnName = "jname_part";//设置DataColumn Name
jname_part.Caption = "零件名";//Datacolum的Caption
jname_part.ReadOnly = true;
jname_part.Unique = true;
//设置DataColumn的 ReadOnly和Unique约束
Lingjianyue.Columns.Add(jname_part);newYue["jname_part"] = paroutputjname_part.Value其实这些代码都没问题的,是newYue["jname_part"] = paroutputjname_part.Value这一步他要我转成char类型,可我不是在jname_part.DataType = typeof(char);设置了吗?
请教应该怎么转?????
我还发现float的类型都变成int类型了

解决方案 »

  1.   

    newYue["jname_part"] = (char)paroutputjname_part.Value;
      

  2.   

    你这个是什么类型的呀!应该也是要CHAR 型的:newYue["jname_part"]
      

  3.   

    SqlDbType.Char和.Net下的Char不是一样的。newYue["jname_part"] = ((string)paroutputjname_part.Value)[0];
      

  4.   

    lfix_time = new DataColumn();
    lfix_time.DataType = typeof(float);
    lfix_time.ColumnName = "lfix_time";
    lfix_time.Caption = "修理小时";//Datacolum的Caption
    lfix_time.ReadOnly = true;
    lfix_time.Unique = true;
    Tgongzi.Columns.Add(lfix_time);SqlParameter paroutputlfix_time = Sqlgongzi .Parameters.Add("@lfix_time",SqlDbType.Float,8);
    paroutputlfix_time.Direction = ParameterDirection.Output;DataRow newgongzi = Dgongzi.NewRow();newgongzi["lfix_time"] = paroutputlfix_time.Value;