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 .
 

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).

Preguntas similares