agredecira ayuda con un problema con la interfaz grafica sql y visual

01/05/2007 - 18:45 por tknocan | Informe spam
Hola gentes como estan tengo un pequeño problema aca esta el codigo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Rosales
{
public partial class form3 : Form
{
private SqlConnection conn; // Defino una variable de tipo
Connection
private SqlDataAdapter da; // Defino una variable de tipo
DataAdapter
private SqlDataReader dr; // Defino una variable de tipo
DataReader
private SqlCommand inser1, inser2; //Defino dos variables de
tipo Command
private String sCn; //Defino una variable que contendra la
cadena de conexion

public form3()
{
InitializeComponent();

Conexion cn = new Conexion(); // Creo un nuevo objeto de
tipo Conexion y lo asigno a cn
cn.Conec(); // Acceso a la funcion Conec de la clase
Conexion
sCn = cn.cadena; // Agrego a la variable scn la cadena de
conexion
conn = new SqlConnection(sCn); // Creo la conexion,
pasandole como argumento la cadena.
conn.Open();// Abro la conexion
}

private void button4_Click(object sender, EventArgs e)
{
this.Close();
}

private void reset()
{

idpac1.Text = "";
Nombrepac1.Text = "";
Apellidopac1.Text = "";
IDFERMEDAD1.Text = "";
}

private void buscar_Click(object sender, EventArgs e)
{
string sql;
sql =" select
p.IDpaciente,p.NombrePac,p.ApellidoPac,p.IDEnfermedad ";
sql += "from dbo.Paciente p ";
sql += "where IDpaciente = '" + idpac1.Text + "'";

da = new SqlDataAdapter(sql, conn);
SqlParameter prm = new SqlParameter("IDpaciente",
SqlDbType.BigInt);
prm.Value = idpac1.Text;
da.SelectCommand.Parameters.Add(prm); // agregando el
parametro al dataAdapter
dr = da.SelectCommand.ExecuteReader(); //regresa un
dataReader en base a un sql que ya tenia el data adapter

while (dr.Read())
{


Nombrepac1.Text dr["NombrePac"].ToString().Trim();
Apellidopac1.Text dr["ApellidoPac"].ToString().Trim();
IDFERMEDAD1.Text dr["IDEnfermedad"].ToString().Trim();
}
if (dr != null)
{
dr.Close();
}

}

private void button2_Click(object sender, EventArgs e)
{
String inserpac; //creo la variable que contendra la
consulta sql deInsercion

inserpac=" update dbo.Paciente ";
inserpac += "set NombrePac= '"+Nombrepac1.Text+ " ' " + "
ApellidoPac= ' " + Apellidopac1.Text + " ' " + "IDEnfermedad =' " +
IDFERMEDAD1.Text + " ' ";
inserpac += "where IDpaciente = '"+idpac1.Text+"' ";
//Insertando datos en la tabla paciente


inser1 = new SqlCommand(inserpac, conn);

inser1.Parameters.Add(new
SqlParameter("@NombrePac",SqlDbType.VarChar));
inser1.Parameters["@NombrePac"].Value = Nombrepac1.Text;
inser1.Parameters.Add(new
SqlParameter("@ApellidoPac",SqlDbType.VarChar));
inser1.Parameters["@ApellidoPac"].Value = Apellidopac1.Text;
inser1.Parameters.Add(new SqlParameter("@IDEnfermedad",
SqlDbType.VarChar));
inser1.Parameters["@IDEnfermedad"].Value = IDFERMEDAD1.Text;
inser1.ExecuteNonQuery();
reset();

}


}
}

El me aperece en inser1.ExecuteNonQuery(); y me dice:
Sintaxis incorrecta cerca de 'ApellidoPac'.
Esto me sale cuando tratao de modifcar el nombre del paciente
agradeceria la ayuda de alguien .

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
01/05/2007 - 19:35 | Informe spam
wrote in message
news:
Hola gentes como estan tengo un pequeño problema aca esta el codigo:
inserpac=" update dbo.Paciente ";
inserpac += "set NombrePac= '"+Nombrepac1.Text+ " ' " + "
ApellidoPac= ' " + Apellidopac1.Text + " ' " + "IDEnfermedad =' " +
[...]
El me aperece en inser1.ExecuteNonQuery(); y me dice:
Sintaxis incorrecta cerca de 'ApellidoPac'.




Hay un error en la sentencia update: te falta separar con comas los
distintos campos a los que les haces el "set".
Ese es el motivo por el que te sale el error, pero aparte de eso hay
otro detalle que no está bien en el programa: Has construido la sentencia
concatenendo los textos (lo cual no es aconsejable debido entre otras cosas
a los ataques de inyección de sql), y luego más abajo has añadido parámetros
al command, lo cual es inútil en este caso puesto que la sentencia no tiene
parámetros. Una de dos: o quitas los parámetros, o parametrizas la sentencia
para que los parámetros funcionen (recomendado).
Respuesta Responder a este mensaje
#2 tknocan
01/05/2007 - 20:58 | Informe spam
Gracias mira , soy nuevo en esto, me sale ahora ester error esperoq ue
me puedas ayudar


inser1.ExecuteNonQuery(); me da el siguiente error

Instrucción UPDATE en conflicto con la restricción FOREIGN KEY
"FK_IDEnfermedad". El conflicto ha aparecido en la base de datos
"Rosales", tabla "dbo.Enfermedad", column 'IDEnfermedad'.
Se terminó la instrucción.

El codigo es el sieguiente:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Rosales
{
public partial class form3 : Form
{
private SqlConnection conn; // Defino una variable de tipo
Connection
private SqlDataAdapter da; // Defino una variable de tipo
DataAdapter
private SqlDataReader dr; // Defino una variable de tipo
DataReader
private SqlCommand inser1, inser2; //Defino dos variables de
tipo Command
private String sCn; //Defino una variable que contendra la
cadena de conexion

public form3()
{
InitializeComponent();

Conexion cn = new Conexion(); // Creo un nuevo objeto de
tipo Conexion y lo asigno a cn
cn.Conec(); // Acceso a la funcion Conec de la clase
Conexion
sCn = cn.cadena; // Agrego a la variable scn la cadena de
conexion
conn = new SqlConnection(sCn); // Creo la conexion,
pasandole como argumento la cadena.
conn.Open();// Abro la conexion
}

private void button4_Click(object sender, EventArgs e)
{
this.Close();
}

private void reset()
{

idpac1.Text = "";
Nombrepac1.Text = "";
Apellidopac1.Text = "";
IDFERMEDAD1.Text = "";
}

private void buscar_Click(object sender, EventArgs e)
{
string sql;
sql =" select
p.IDpaciente,p.NombrePac,p.ApellidoPac,p.IDEnfermedad ";
sql += "from dbo.Paciente p ";
sql += "where IDpaciente = '" + idpac1.Text + "'";

da = new SqlDataAdapter(sql, conn);
SqlParameter prm = new SqlParameter("IDpaciente",
SqlDbType.BigInt);
prm.Value = idpac1.Text;
da.SelectCommand.Parameters.Add(prm); // agregando el
parametro al dataAdapter
dr = da.SelectCommand.ExecuteReader(); //regresa un
dataReader en base a un sql que ya tenia el data adapter

while (dr.Read())
{


Nombrepac1.Text dr["NombrePac"].ToString().Trim();
Apellidopac1.Text dr["ApellidoPac"].ToString().Trim();
IDFERMEDAD1.Text dr["IDEnfermedad"].ToString().Trim();
}
if (dr != null)
{
dr.Close();
}

}

private void button2_Click(object sender, EventArgs e)
{
String inserpac; //creo la variable que contendra la
consulta sql deInsercion

inserpac=" update dbo.Paciente ";
inserpac += " set NombrePac = '" + Nombrepac1.Text+ " ' " +
" ,ApellidoPac= ' " + Apellidopac1.Text + " ' " + " ,IDEnfermedad ='
" + IDFERMEDAD1.Text + " ' ";
inserpac += " where IDpaciente = '"+idpac1.Text+ "' ";
//Insertando datos en la tabla paciente


inser1 = new SqlCommand(inserpac, conn);

inser1.Parameters.Add(new
SqlParameter("@NombrePac",SqlDbType.VarChar));
inser1.Parameters["@NombrePac"].Value = Nombrepac1.Text;
inser1.Parameters.Add(new
SqlParameter("@ApellidoPac",SqlDbType.VarChar));
inser1.Parameters["@ApellidoPac"].Value = Apellidopac1.Text;
inser1.Parameters.Add(new SqlParameter("@IDEnfermedad",
SqlDbType.VarChar));
inser1.Parameters["@IDEnfermedad"].Value = IDFERMEDAD1.Text;
inser1.ExecuteNonQuery();
reset();

}


}
}

Le puse la como asi :

private void button2_Click(object sender, EventArgs e)
{
String inserpac; //creo la variable que contendra la
consulta sql deInsercion

inserpac=" update dbo.Paciente ";
inserpac += " set NombrePac = '" + Nombrepac1.Text+ " ' " +
" ,ApellidoPac= ' " + Apellidopac1.Text + " ' " + " ,IDEnfermedad ='
" + IDFERMEDAD1.Text + " ' ";
inserpac += " where IDpaciente = '"+idpac1.Text+ "' ";

antes de cada nombre espero que asi fuera, bueno espero que me puedan
ayudar grax
Respuesta Responder a este mensaje
#3 Alberto Poblacion
02/05/2007 - 10:39 | Informe spam
wrote in message
news:
Gracias mira , soy nuevo en esto, me sale ahora ester error esperoq ue
me puedas ayudar
[...]
Instrucción UPDATE en conflicto con la restricción FOREIGN KEY
"FK_IDEnfermedad". El conflicto ha aparecido en la base de datos
"Rosales", tabla "dbo.Enfermedad", column 'IDEnfermedad'.



Es un conflicto en la base de datos. Dentro del servidor, la tabla
"Paciente" tiene un campo denominado "IDEnfermedad", que ha sido configurado
de forma que no acepte ningún valor que no exista en la tabla "Enfermedad".
El error que te sale te está indicando que tu programa al hacer el Update ha
infringido esa restricción que hay en el servidor. El remedio es evidente:
en el IDFERMEDAD1.Text tienes que meter un valor que realmente exista en la
tabla Enfernedad de la base de datos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida