首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >转换参数DataRowView

转换参数DataRowView
EN

Stack Overflow用户
提问于 2018-07-01 03:15:39
回答 1查看 34关注 0票数 0

我一直在尝试插入这段代码,但仍然没有工作,“未能将DataRowView转换为in16",我尝试使用int32、intParse()、Convert32(),但没有成功。

C#按钮:

代码语言:javascript
运行
复制
private void btnaddPostulante_Click(object sender, RoutedEventArgs e)
    {
        using (OracleConnection ora = new OracleConnection(con))
        {
            try
            {
                ora.Open();
                OracleCommand comando = new OracleCommand("insertarPostulante", ora);
                comando.CommandType = CommandType.StoredProcedure;
                comando.Parameters.Add("persona_rut", OracleType.VarChar).Value = txtrutPos.Text;
                comando.Parameters.Add("persona_apellido_paterno", OracleType.VarChar).Value = txtappPos.Text;
                comando.Parameters.Add("persona_apellido_materno", OracleType.VarChar).Value = txtapmPos.Text;
                comando.Parameters.Add("persona_nombre", OracleType.VarChar).Value = txtnombrePos.Text;
                comando.Parameters.Add("persona_fecha_nacimiento", OracleType.DateTime).Value = datePicker1.SelectedDate;
                comando.Parameters.Add("id_nacionalidad", OracleType.Int16).Value = combonacionalidad.SelectedItem;
                //fotos
                comando.Parameters.Add("ano_subsidio", OracleType.Int16).Value = int.Parse(txtanoSubsidio.Text);
                comando.Parameters.Add("id_estado_civil", OracleType.Int16).Value = comboestadoc.SelectedItem;
                comando.Parameters.Add("telef_domicilio", OracleType.Int16).Value = int.Parse(txtfonoDomicilio.Text);
                comando.Parameters.Add("telef_movil", OracleType.Int16).Value = int.Parse(txtfonoMovil.Text);
                comando.Parameters.Add("telef_trabajo", OracleType.Int16).Value = int.Parse(txtfonoTrabajo.Text);
                comando.Parameters.Add("email", OracleType.VarChar).Value = txtemail.Text;
                comando.Parameters.Add("codigo_postal", OracleType.Int16).Value = int.Parse(txtcodigoPostal.Text);
                comando.Parameters.Add("proceso_divorcio", OracleType.Char).Value = procDivorcio.SelectedItem.ToString();
                comando.Parameters.Add("debe_acreditar_carga", OracleType.Char).Value = comboAcredCarga.SelectedItem.ToString();
                comando.Parameters.Add("es_indigena", OracleType.Char).Value = acreIndigena.SelectedItem.ToString();
                comando.Parameters.Add("posee_titulo", OracleType.Char).Value = acreEstudios.SelectedItem.ToString();
                comando.Parameters.Add("calle", OracleType.VarChar).Value = txtcalle.Text;
                comando.Parameters.Add("numero", OracleType.Int16).Value = int.Parse(txtnumero.Text);
                comando.Parameters.Add("block", OracleType.VarChar).Value = txtblock.Text;
                comando.Parameters.Add("nro_dpto", OracleType.Int16).Value = int.Parse(txtdept.Text);
                comando.Parameters.Add("manzana", OracleType.VarChar).Value = txtmanzana.Text;
                comando.Parameters.Add("sitio", OracleType.VarChar).Value = txtsitio.Text;
                comando.Parameters.Add("nro_piso", OracleType.Int16).Value = int.Parse(txtnropisos.Text);
                comando.Parameters.Add("id_comuna", OracleType.Int16).Value = combocomuna.SelectedItem;
                comando.Parameters.Add("conyuge_rut", OracleType.VarChar).Value = txtrutCon.Text;
                comando.Parameters.Add("nombre_titulo", OracleType.VarChar).Value = txttitulo.Text;
                comando.Parameters.Add("nombre_institucion", OracleType.VarChar).Value = txtinstitucion.Text;
                comando.Parameters.Add("id_tipo_titulo", OracleType.Char).Value = comboTipoTitulo.SelectedItem.ToString();
                comando.Parameters.Add("id_direccion", OracleType.Int16).Value = int.Parse(txtidDireccion.Text);
                comando.ExecuteNonQuery();
                MessageBox.Show("Postulante Agregado");


            }
            catch(Exception ex)
            {
                MessageBox.Show("A handled exception just occurred: " + ex.Message, "Exception Sample", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            ora.Close();
        }
    }

该程序工作正常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 04:27:02

如果要将其转换为int16,请尝试使用下面的helper方法

代码语言:javascript
运行
复制
 public static int MyToInt16(object o)
    {
        if (o == DBNull.Value || o == null)
            return 0;

        return Convert.ToInt16(o);
    }

用法

代码语言:javascript
运行
复制
comando.Parameters.Add("ano_subsidio", OracleType.Int16).Value = MyToInt16(txtanoSubsidio.Text);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51120137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档