hola lista,
con respecto a la inserción de datos, en una BD PostgreSQL,
tengo lo siguiente para guardar los datos:
public void guardaDatos(String strUSer, String strClave,String
strDesc,String strTipo){
String strInsertSql="INSERT INTO usuario values
(@User,@Clave,@Desc,@Tipo)";
NpAdapter.InsertCommand=new
NpgsqlCommand(strInsertSql,Cnn.getConexion());
NpAdapter.InsertCommand.Parameters.Add(new
NpgsqlParameter("@User",NpgsqlTypes.NpgsqlDbType.Text));
NpAdapter.InsertCommand.Parameters.Add(new
NpgsqlParameter("@Clave",NpgsqlTypes.NpgsqlDbType.Text));
NpAdapter.InsertCommand.Parameters.Add(new
NpgsqlParameter("@Desc",NpgsqlTypes.NpgsqlDbType.Text));
NpAdapter.InsertCommand.Parameters.Add(new
NpgsqlParameter("@Tipo",NpgsqlTypes.NpgsqlDbType.Text));
NpAdapter.InsertCommand.Parameters[0].SourceColumn="username";
NpAdapter.InsertCommand.Parameters[1].SourceColumn="password";
NpAdapter.InsertCommand.Parameters[2].SourceColumn="descripcion";
NpAdapter.InsertCommand.Parameters[3].SourceColumn="tipo";
NpAdapter.Fill(dset);
DataTable tabla=dset.Tables[0];
DataRow dr=tabla.NewRow();
dr["NOMBRE"]=strUSer;
dr["password"]=strClave;
dr["DESCRIPCION"]=strDesc;
dr["TIPO"]=strTipo;
tabla.Rows.Add(dr);
NpAdapter.Update(dset, "usuario");
}
y esto para cargar los datos en un DataGridView:
public void cargarDatos(String strSQL){
NpgsqlCommand sqlComando=new
NpgsqlCommand(strSQL,Cnn.getConexion());
NpgsqlDataReader sqlLector=sqlComando.ExecuteReader();
DataTable mitabla=new DataTable();
mitabla.Load(sqlLector);
dgView.DataSource=mitabla;
sqlLector.Close();
}
public void conectToData(){
dset = new DataSet("usuario");
NpAdapter = new NpgsqlDataAdapter();
NpAdapter.SelectCommand = new NpgsqlCommand(strQuery,
Cnn.getConexion());
NpAdapter.Fill(dset, "usuario");
dtsource = dset.Tables["usuario"];
}
y esta es la variable tipo sql:
String strQuery="select username as NOMBRE, descripcion as
DESCRIPCION,"+
" tipo as TIPO from usuario;";
pero al ejecutar la inserción con los datos, me muestra el siguiente
error:
System.ArgumentException: La columna 'password' no pertenece a la
tabla usuario.
en System.Data.DataRow.GetDataColumn
en System.Data.DataRow.set_Item
Entiendo en este caso, que es por no incluir el campo "password" en el
String strQuery="select username as NOMBRE, descripcion as
DESCRIPCION,"+
" tipo as TIPO from usuario;";
Ahora bien, ¿como podria solucionar esto?
Leer las respuestas